不同种类的流 1 - 如果存在则渴望使用第一项
// Java:
Arrays.asList("a1", "a2", "a3")
.stream()
.findFirst()
.ifPresent(System.out::println);
// Kotlin:
listOf("a1", "a2", "a3").firstOrNull()?.apply(::println)
或者,在 String 上创建一个名为 ifPresent 的扩展函数:
// Kotlin:
inline fun String?.ifPresent(thenDo: (String)->Unit) = this?.apply { thenDo(this) }
// now use the new extension function:
listOf("a1", "a2", "a3").firstOrNull().ifPresent(::println)
另见: apply()
功能
另请参见: 扩展函数
另请参阅: ?.
安全呼叫运算符 ,以及一般的可空性: http : //stackoverflow.com/questions/34498562/in-kotlin-what-is-the-idiomatic-way-to-deal-with-nullable-values-referencing -o / 34498563#34498563