相关疑难解决方法(0)

Kotlin中List和Array类型之间的区别

ListArray类型有什么区别?
它似乎可以与它们进行相同的操作(循环,过滤器表达式等),行为或用法有什么不同吗?

val names1 = listOf("Joe","Ben","Thomas")
val names2 = arrayOf("Joe","Ben","Thomas")

for (name in names1)
    println(name)
for (name in names2)
    println(name)
Run Code Online (Sandbox Code Playgroud)

kotlin

139
推荐指数
3
解决办法
4万
查看次数

Kotlin 假设 value 不为 null

我有下面的代码来从列表中选择第一个项目,其中该项目的姓氏字段值不应该是UNKNOWNor MISSING

val userLastName = someList
      .first { it.lastName != "UNKNOWN" && it.lastName != "MISSING" }
      .lastName
Run Code Online (Sandbox Code Playgroud)

现在 Intellij 说字段 userLastName 永远不能为空。为什么?

如果列表中的所有对象的lastName字段值为 或UNKNOWNMISSING那么该userLastName变量将为空,对吧?

我尝试更改代码以使用 null 安全运算符:

val userLastName = someList
          .first { it.lastName != "UNKNOWN" && it.lastName != "MISSING" }
          ?.lastName
Run Code Online (Sandbox Code Playgroud)

但我收到以下警告:

Safe call on a non-null receiver will have nullable type in future releases
Run Code Online (Sandbox Code Playgroud)

kotlin

1
推荐指数
1
解决办法
513
查看次数

标签 统计

kotlin ×2