我看到Kotlin有ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray,这相当于Java中的byte[], short[], int[],char[], double[], float[]。
ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
byte[], short[], int[],char[], double[], float[]
现在我想知道,是否有任何StringArray等价于Java的String[]?
StringArray
String[]
存在这些类型是为了创建基本类型的数组,而不是盒装类型。因为String在Java中不是一个原语,你可以在Kotlin中使用Array<String>作为Java String[]的等价。
Array<String>
Strings
Array<*>
IntArray
因此,int[]与IntArray相关,而Integer[]与Array<Int>相关。
int[]
Integer[]
Array<Int>
String没有特殊情况,因为String在JVM上是一个普通的引用类型,与String0相反——将它们存储在String1引用中需要String2。像Kotlin中的String3这样的专用数组的目的是存储未装箱的原语,消除装箱和拆箱开销(与Java int[]而不是Integer[]相同)。
String
你可以使用Array<String>(和Array<String?>为空值),这相当于Java中的String[]:
Array<String?>
val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?> val someStrings = Array<String>(5) { "it = $it" } val otherStrings = arrayOf("a", "b", "c")
参见:在语言引用中Arrays
使用劳动力素质, arrayOfNulls, emptyArray
var colors_1: Array<String> = arrayOf("green", "red", "blue") var colors_2: Array<String?> = arrayOfNulls(3) var colors_3: Array<String> = emptyArray()
这个例子在Android中非常有效
在kotlin中,您可以使用lambda表达式来实现这一点。Kotlin数组构造函数的定义是:
Array(size: Int, init: (Int) -> T)
计算结果为:
skillsSummaryDetailLinesArray = Array(linesLen) { i: Int -> skillsSummaryDetailLines!!.getString(i) }
或者:
skillsSummaryDetailLinesArray = Array<String>(linesLen) { i: Int -> skillsSummaryDetailLines!!.getString(i) }
在这个例子中,字段定义是:
private var skillsSummaryDetailLinesArray: Array<String>? = null
希望这能有所帮助
你也可以用:
val frases = arrayOf("texto01","texto02 ","anotherText","and ")
为例。
要在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, { _ -> "" })
< br >
但是,如果您需要一个字符数组,请使用以下方法:
var charArr = charArrayOf('a','b','c')
创建String数组的一些常用方法是
这将创建一个包含5个字符串的数组,初始值为空字符串。
<String?>
这将创建一个大小为5的数组,初始值为null。可以使用String数据修改数组。
当你知道数组的内容,然后你可以直接初始化数组。
var矩阵=数组(5){数组(6){""}}