我看到Kotlin有ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
,這相當於Java中的byte[], short[], int[],char[], double[], float[]
。什麼是Java的String []的Kotlin等價物?
現在我想知道,是否有任何StringArray
相當於Java的String[]
?
我看到Kotlin有ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
,這相當於Java中的byte[], short[], int[],char[], double[], float[]
。什麼是Java的String []的Kotlin等價物?
現在我想知道,是否有任何StringArray
相當於Java的String[]
?
有用於String
沒有特殊情況,因爲String
是JVM上的一個普通的引用類型,相反與Java primitives (int
, double
, ...) - 它們存儲在參考Array<T>
需要boxing them into objects like Integer
and Double
。 Kotlin中的IntArray
等專用陣列的目的是存儲非盒裝原語,擺脫裝箱和拆箱開銷(與Java int[]
相同,而不是Integer[]
)。
可以使用(對於nullables和Array<String?>
)Array<String>
,這相當於String[]
在Java中:
val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?>
val someStrings = Array<String>(5) { "it = $it" }
val otherStrings = arrayOf("a", "b", "c")
這些類型有那麼您可以創建的圖元的陣列,而不是盒裝的類型。由於String不是Java中的原語,因此您可以在Kotlin中使用Array<String>
作爲Java String[]
的等效項。
對於Strings
和其他類型,您只需使用Array<*>
。 原因IntArray
和其他存在是爲了防止自動裝箱。
因此int[]
涉及IntArray
其中Integer[]
涉及Array<Int>
。
'typealias字符串數組=陣列') –
marstran