有這樣的任務:諸如 a name、 asurname和 a之類的欄位patronymic到達輸入。
在最簡單的情況下,所有這些欄位都填充了資料,因此它們的輸出如下所示:
"name" "surname" "patronymic"
但是,有時會丟失姓氏欄位,因此輸出應如下所示:
"name" "patronymic"
另一種情況,當沒有父名時,在這種情況下應該顯示如下:
"name" "surname"
與 相同的東西name,它可能會丟失,它應該看起來如何,我想你已經猜到了。
我知道您很可能需要以某種方式使用if-else以在所有情況下達到預期的結果,但在我看來,代碼太多了。是否有可能以某種方式解決這個問題并處理所有選項?
uj5u.com熱心網友回復:
val name = "name"
val surname = "surname"
val patronymic = "patronymic"
val result = listOf(name, surname, patronymic)
.filter { it.isNotBlank() }
.joinToString(" ")
println(result)
或者使用輔助函式:
fun List<String>.concatWithBlank() = this.filter { it.isNotBlank() }.joinToString(" ")
val result = listOf(name, surname, patronymic).concatWithBlank()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486315.html
上一篇:從集合中洗掉串列中存在的專案-流
