什么是Kotlin相当于Java的String []?

cha*_*yWu 130 kotlin

我看到Kotlin有ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray相应byte[], short[], int[],char[], double[], float[]的Java相同的东西.

现在我想知道,有没有StringArray相当于Java的String[]

hot*_*key 187

有没有针对特殊情况String,因为String是在JVM一个普通的参考类型,与此相反的Java原语(int,double,...) -它们存储在一个基准Array<T>要求拳击它们变成状物体IntegerDouble.专门阵列等目的,IntArray在科特林是存储非盒装元,摆脱装箱和拆箱的开销(一样的Java的int[]替代Integer[]).

你可以使用Array<String>(和Array<String?>nullables),这相当于String[]Java:

val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?>
val someStrings = Array<String>(5) { "it = $it" }
val otherStrings = arrayOf("a", "b", "c")
Run Code Online (Sandbox Code Playgroud)

另请参阅:语言参考中的数组


Dan*_*anu 13

使用 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()
Run Code Online (Sandbox Code Playgroud)


ARG*_*Geo 11

Array of Strings在Kotlin中创建空白,您应该使用以下六种方法之一:

第一种方法:

val empty = arrayOf<String>()
Run Code Online (Sandbox Code Playgroud)

第二种方法:

val empty = arrayOf("","","")
Run Code Online (Sandbox Code Playgroud)

第三种方法:

val empty = Array<String?>(3) { null }
Run Code Online (Sandbox Code Playgroud)

第四种方法:

val empty = arrayOfNulls<String>(3)
Run Code Online (Sandbox Code Playgroud)

第五种方法:

val empty = Array<String>(3) { "it = $it" }
Run Code Online (Sandbox Code Playgroud)

第六种方法:

val empty = Array<String>(0, { _ -> "" })
Run Code Online (Sandbox Code Playgroud)


zsm*_*b13 8

这些类型是存在的,因此您可以创建基元的数组,而不是盒装类型.由于String不是Java中的原语,因此您可以Array<String>在Kotlin中使用Java作为Java的等价物String[].


nha*_*man 6

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

所以int[]涉及到IntArray哪里Integer[]涉及到Array<Int>


Him*_*arg 5

创建字符串数组的一些常见方法是

  1. var arr = 数组(5){""}

这将创建一个包含 5 个字符串的数组,其初始值为空字符串。

  1. var arr = arrayOfNulls <String?>(5)

这将创建一个大小为 5 且初始值为 null 的数组。您可以使用字符串数据来修改数组。

  1. var arr = arrayOf("零", "一", "二", "三")

当您已经知道数组的内容时,您可以直接初始化数组。

  1. 还有一种创建多维字符串数组的简单方法。

    var 矩阵 = 数组(5){数组(6) {""}}

    这是创建一个 5 行 6 列且初始值为空字符串的矩阵的方法。