如何在kotlin中创建一个空数组?

时间:2015-04-20 08:51:36

标签: arrays kotlin

我目前正在使用Array(0, {i -> ""}),我想知道是否有更好的实施,例如Array()

另外,如果我使用arrayOfNulls<String>(0) as Array<String>,编译器会提醒我这个演员表永远不会成功。但它是Array(0, {i -> ""})内的默认实现。我想念一下吗?

8 个答案:

答案 0 :(得分:70)

截至2015年6月末,有Kotlin标准库函数

public fun <T> arrayOf(vararg t: T): Array<T>

因此,要创建一个空数组的字符串,您可以编写

val emptyStringArray = arrayOf<String>()

答案 1 :(得分:27)

仅供参考,还有emptyArray。例如,

var arr = emptyArray<String>()

答案 2 :(得分:5)

null array

if let storyboard = self.storyboard {
    let vc = storyboard.instantiateViewController(withIdentifier: "group") 
    if let groupVC = vc as? GroupViewController {
        self.navigationController?.pushViewController(groupVC, animated: true)
    }
}

答案 3 :(得分:4)

这样,您可以生成大小为channels!.sort(comparator: { (c1, c2) -> ComparisonResult in ... //what do I call here to know that this completed? } // channels is sorted over here 空(不是null 数组:

length

注意事项必须为每种类型正确定义val arr = Array(length) { emptyObject } (因为您不希望使用emptyObject)。例如对于nullString可以是emptyObject。所以:

""

Here是一个实时示例。请注意,默认情况下,该程序使用两个示例参数运行。


要创建val arr = Array(3) { "" } // is equivalent for: arrayOf("","","") 数组,请使用null

答案 4 :(得分:1)

我发现了两种创建空数组的方法,第二种方法没有lambda:

var arr = Array (0, { i -> "" })
var arr2 = array<String>()

关于Kotlin的空字符串,不允许这样做。您必须使用 String?类型来允许字符串为空。

答案 5 :(得分:0)

使用:

@JvmField val EMPTY_STRING_ARRAY = arrayOfNulls<String>(0)

它返回一个0大小的字符串数组,并以空值初始化。

1。错误:

@JvmField val EMPTY_STRING_ARRAY = emptyArray<String>()

它返回arrayOfNulls<String>(0)

2。错误:

 @JvmField val EMPTY_STRING_ARRAY = arrayOf<String>()

它返回一个包含字符串的数组。

答案 6 :(得分:0)

如上所述,您可以使用{loader: 'css-loader', options: {sourceMap: $ SOURCE_MAP, importLoaders: 2,}}, 'postcss-loader', {loader: 'sass-loader', options: {sourceMap: $ SOURCE_MAP, importLoaders: 0,},} IntArray(size)

答案 7 :(得分:0)

初始化数组和赋值的最简单方法:

val myArray: Array<String> = Array(2) { "" }
    myArray[0] = "Java"
    myArray[1] = "Kotlin"