0

在 Kotlin 中,我们必须区分可空类型和不可空类型。假设我有一个Array<String?>我知道其中的每个值实际上都不为空的 fom。有没有一种简单的方法可以Array<String>从源数组创建一个而不复制它?

4

2 回答 2

3

array.requireNoNulls()Array<T?>返回具有非可选类型的相同数组(但如果找到任何项目则Array<T>抛出)。IllegalArgmentExceptionnull

如果您确定您的数组没有,null那么您可以进行类型转换。

array as Array<String>

于 2018-11-21T12:37:49.727 回答
0

大批。filterNotNull可能是更安全的方法。但它会创建一个新的数组。

val items: Array<String?> = arrayOf("one", "two", null, "three")
val itemsWithoutNull: List<String> = items.filterNotNull()
于 2018-11-21T12:40:25.297 回答