如何在科特林中创建一个空数组?
How to create an empty array in kotlin?
我目前正在使用Array(0, {i -> ""})
,我想知道是否有更好的实现,例如Array()
此外,如果我使用 arrayOfNulls<String>(0) as Array<String>
,编译器会提醒我此转换永远不会成功。但它是 Array(0, {i -> ""})
内的默认实现。我错过了什么吗?
我找到了两种创建空数组的方法,第二种方法没有 lambda:
var arr = Array (0, { i -> "" })
var arr2 = array<String>()
关于Kotlin 的空字符串,这是不允许的。您必须使用 String? 类型来允许字符串为空。
最近(2015 年 6 月)有 Kotlin 标准库函数
public fun <T> arrayOf(vararg t: T): Array<T>
因此,要创建一个空的字符串数组,您可以编写
val emptyStringArray = arrayOf<String>()
仅供参考,还有emptyArray
。例如,
var arr = emptyArray<String>()
见
空数组
var arrayString=Array<String?>(5){null}
var nullArray= arrayOfNulls<String>(5)
使用:
@JvmField val EMPTY_STRING_ARRAY = arrayOfNulls<String>(0)
它returns 一个 0 大小的字符串数组,用空值初始化。
1.错误:
@JvmField val EMPTY_STRING_ARRAY = emptyArray<String>()
它returnsarrayOfNulls<String>(0)
2。错误:
@JvmField val EMPTY_STRING_ARRAY = arrayOf<String>()
它 returns 一个包含字符串的数组。
空还是null
?就是这个问题!
要创建一个 null
的数组,只需使用 arrayOfNulls<Type>(length)
。
但要生成大小为 length
的 EMPTY 数组,请使用:
val arr = Array(length) { emptyObject }
请注意您必须为每个数据类型正确定义emptyObject
(因为您不希望null
s)。例如对于 String
s,emptyObject
可以是 ""
。所以:
val arr = Array(3) { "" } // is equivalent for: arrayOf("","","")
Here 是一个实例。请注意,程序默认使用两个示例参数运行。
如上所述,您可以使用IntArray(size)
或FloatArray(size)
。
初始化数组和赋值的最简单方法:
val myArray: Array<String> = Array(2) { "" }
myArray[0] = "Java"
myArray[1] = "Kotlin"
我目前正在使用Array(0, {i -> ""})
,我想知道是否有更好的实现,例如Array()
此外,如果我使用 arrayOfNulls<String>(0) as Array<String>
,编译器会提醒我此转换永远不会成功。但它是 Array(0, {i -> ""})
内的默认实现。我错过了什么吗?
我找到了两种创建空数组的方法,第二种方法没有 lambda:
var arr = Array (0, { i -> "" })
var arr2 = array<String>()
关于Kotlin 的空字符串,这是不允许的。您必须使用 String? 类型来允许字符串为空。
最近(2015 年 6 月)有 Kotlin 标准库函数
public fun <T> arrayOf(vararg t: T): Array<T>
因此,要创建一个空的字符串数组,您可以编写
val emptyStringArray = arrayOf<String>()
仅供参考,还有emptyArray
。例如,
var arr = emptyArray<String>()
见
空数组
var arrayString=Array<String?>(5){null}
var nullArray= arrayOfNulls<String>(5)
使用:
@JvmField val EMPTY_STRING_ARRAY = arrayOfNulls<String>(0)
它returns 一个 0 大小的字符串数组,用空值初始化。
1.错误:
@JvmField val EMPTY_STRING_ARRAY = emptyArray<String>()
它returnsarrayOfNulls<String>(0)
2。错误:
@JvmField val EMPTY_STRING_ARRAY = arrayOf<String>()
它 returns 一个包含字符串的数组。
空还是null
?就是这个问题!
要创建一个 null
的数组,只需使用 arrayOfNulls<Type>(length)
。
但要生成大小为 length
的 EMPTY 数组,请使用:
val arr = Array(length) { emptyObject }
请注意您必须为每个数据类型正确定义emptyObject
(因为您不希望null
s)。例如对于 String
s,emptyObject
可以是 ""
。所以:
val arr = Array(3) { "" } // is equivalent for: arrayOf("","","")
Here 是一个实例。请注意,程序默认使用两个示例参数运行。
如上所述,您可以使用IntArray(size)
或FloatArray(size)
。
初始化数组和赋值的最简单方法:
val myArray: Array<String> = Array(2) { "" }
myArray[0] = "Java"
myArray[1] = "Kotlin"