用什么"?" 在ArrayList <String?>中

poz*_*ndw 1 java kotlin

这是否意味着列表项可以String是非String?我在以下代码中找到了用法:

class KotlinGreetingJoiner(val greeter: Greeter) {

    val names = ArrayList<String?>()

    fun addName(name: String?) {
        names.add(name)
    }

    fun getJoinedGreeting(): String {
        val joiner = Joiner.on(" and ").skipNulls()
        return "${greeter.getGreeting()} ${joiner.join(names)}"
    }
}
Run Code Online (Sandbox Code Playgroud)

eml*_*lai 14

这意味着列表元素可以是Stringnull.这在文档中的Null Safety中有所涉及.

  • 另请参阅:/sf/ask/2414899371/,用于处理空值.另请注意,在Kotlin集合中可以使用`filterNotNull()`方法,如果需要,可以消除"null"值或转换为不再具有空值的列表. (3认同)