在Kotlin中,我们必须区分可空类型和不可空类型。假设我有一个Array<String?>
fom,我知道其中的每个值实际上都不为null。是否有一种简单的方法可以从源数组创建Array<String>
而不复制它?
答案 0 :(得分:3)
array.requireNoNulls()
返回相同的数组Array<T?>
,其类型为非可选类型Array<T>
(但是如果发现任何项IllegalArgmentException
,则抛出null
)。
如果确定您的数组没有null
,则可以进行类型转换。
array as Array<String>
答案 1 :(得分:0)
Array。filterNotNull可能是更安全的方法。但是它将创建一个新的数组。
val items: Array<String?> = arrayOf("one", "two", null, "three")
val itemsWithoutNull: List<String> = items.filterNotNull()