我看到Kotlin有ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray,这相当于字节[],短[],int[],char[],双[],浮动[]在Java中。

现在我想知道,是否有任何StringArray等价于Java的String[]?


当前回答

对于字符串和其他类型,只需使用Array<*>。 IntArray和其他工具存在的原因是为了防止自动装箱。

所以int[]与IntArray相关,其中Integer[]与Array< int >相关。

其他回答

这个例子在Android中非常有效

在kotlin中,您可以使用lambda表达式来实现这一点。Kotlin数组构造函数的定义是:

Array(size: Int, init: (Int) -> T)

计算结果为:

skillsSummaryDetailLinesArray = Array(linesLen) {
        i: Int -> skillsSummaryDetailLines!!.getString(i)
}

Or:

skillsSummaryDetailLinesArray = Array<String>(linesLen) {
        i: Int -> skillsSummaryDetailLines!!.getString(i)
}

在这个例子中,字段定义是:

private var skillsSummaryDetailLinesArray: Array<String>? = null

希望这能有所帮助

要在Kotlin中创建一个空字符串数组,您应该使用以下方法之一:

第一种方法:

var empty = arrayOf<String>()

第二种方法:

var empty = arrayOf("","","")

第三种方法:

var empty = Array<String?>(3) { null }

第四个方法:

var empty = arrayOfNulls<String>(3)

第五个方法:

var empty = Array<String>(3) { "it = $it" }

第六个方法:

var empty = Array<String>(0, { _ -> "" })

但是,如果您需要一个字符数组,请使用以下方法:

var charArr = charArrayOf('a','b','c')

对于字符串和其他类型,只需使用Array<*>。 IntArray和其他工具存在的原因是为了防止自动装箱。

所以int[]与IntArray相关,其中Integer[]与Array< int >相关。

你也可以用:

val frases = arrayOf("texto01","texto02 ","anotherText","and ")

为例。

使用arrayOf, arrayOfNulls, emptyArray

var colors_1: Array<String> = arrayOf("green", "red", "blue")
var colors_2: Array<String?> = arrayOfNulls(3)
var colors_3: Array<String> = emptyArray()