我Array(0, {i -> ""})目前正在使用,我想知道是否有更好的实现,例如Array()
另外,如果使用arrayOfNulls<String>(0) as Array<String>,编译器将警告我该强制转换永远不会成功。但这是内部的默认实现Array(0, {i -> ""})。我想念什么吗?
Answers:
截止到2015年6月,有Kotlin标准库功能
public fun <T> arrayOf(vararg t: T): Array<T>
因此,要创建一个空字符串数组,您可以编写
val emptyStringArray = arrayOf<String>()
IntArray呢?现在我正在使用arrayOf<Int>().toIntArray(),还有什么更好的方法吗?
java.lang.ArrayIndexOutOfBoundsException:异常。
T不是String怎么办?
java.lang.ArrayIndexOutOfBoundsException:如何使用?
null?这就是问题所在!要创建的数组null,只需使用arrayOfNulls<Type>(length)。
但是要生成一个空的size数组length,请使用:
val arr = Array(length) { emptyObject }
请注意,您必须emptyObject为每种数据类型正确定义一个(因为您不希望这样null)。例如 对于String,emptyObject可以是""。所以:
val arr = Array(3) { "" } // is equivalent for: arrayOf("","","")
这是一个生动的例子。请注意,默认情况下,该程序使用两个示例参数运行。
空数组
var arrayString=Array<String?>(5){null}
var nullArray= arrayOfNulls<String>(5)
我发现了两种创建空数组的方法,第二种没有lambda的方法:
var arr = Array (0, { i -> "" })
var arr2 = array<String>()
关于Kotlin的空字符串,这是不允许的。您必须使用String吗?键入以允许字符串为空。