从具有可为空类型的数组创建不具有可为空类型的数组
Create Array without nullable types from Array with nullable types
在 Kotlin 中,我们必须区分可空类型和不可空类型。假设我有一个 Array<String?>
表单,我知道其中的每个值实际上都不为空。有没有一种简单的方法可以从源数组创建一个 Array<String>
而无需复制它?
array.requireNoNulls()
returns 具有非可选类型 Array<T>
的相同数组 Array<T?>
(但如果找到任何项目 [=14= 则抛出 IllegalArgmentException
]).
如果你确定你的数组没有 null
那么你可以进行类型转换。
array as Array<String>
Array.filterNotNull 可能是更安全的方法。但是它会创建一个新的数组。
val items: Array<String?> = arrayOf("one", "two", null, "three")
val itemsWithoutNull: List<String> = items.filterNotNull()
在 Kotlin 中,我们必须区分可空类型和不可空类型。假设我有一个 Array<String?>
表单,我知道其中的每个值实际上都不为空。有没有一种简单的方法可以从源数组创建一个 Array<String>
而无需复制它?
array.requireNoNulls()
returns 具有非可选类型 Array<T>
的相同数组 Array<T?>
(但如果找到任何项目 [=14= 则抛出 IllegalArgmentException
]).
如果你确定你的数组没有 null
那么你可以进行类型转换。
array as Array<String>
Array.filterNotNull 可能是更安全的方法。但是它会创建一个新的数组。
val items: Array<String?> = arrayOf("one", "two", null, "three")
val itemsWithoutNull: List<String> = items.filterNotNull()