我看到Kotlin有ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray,相当于Java中的byte[], short[], int[],char[], double[], float[]。现在我想知道,是否有任何StringArray等价于Java的String[]?
ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
byte[], short[], int[],char[], double[], float[]
StringArray
String[]
2izufjch1#
String没有特殊情况,因为String是JVM上的普通引用类型,与Java primitives ( int , double , ...)相反--将它们存储在引用Array<T>中需要boxing them into objects like Integer and Double。Kotlin中的专用数组(如IntArray)的目的是存储非装箱原语,摆脱装箱和拆箱开销(与Java int[]相同,而不是Integer[])。你可以使用Array<String>(和Array<String?>用于空值),它相当于Java中的String[]:
String
int
double
Array<T>
Integer
Double
IntArray
int[]
Integer[]
Array<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
ut6juiuv2#
要在Kotlin中创建一个空的String数组,你应该使用以下六种方法之一:
// 01 var empty = arrayOf<String>()
// 02 var empty = arrayOf("","","")
// 03 var empty = Array<String?>(3) { null }
// 04 var empty = arrayOfNulls<String>(3)
// 05 var empty = Array<String>(3) { "it = $it" }
// 06 var empty = Array<String>(0, { _ -> "" })
的一个或多个字符串但是,如果需要字符数组,请使用以下方法:
var charArr = charArrayOf('a','b','c')
型
rdlzhqv93#
使用 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()
字符串
vkc1a9a24#
这些类型的存在是为了让您可以创建基本类型的数组,而不是装箱的类型。由于String不是Java中的原语,因此您可以在Kotlin中使用Array<String>作为Java String[]的等效物。
qgelzfjb5#
对于Strings和其他类型,您只需使用Array<*>。IntArray和其他文件存在的原因是为了防止自动装箱。所以int[]与IntArray相关,其中Integer[]与Array<Int>相关。
Strings
Array<*>
Array<Int>
ax6ht2ek6#
创建String数组的一些常用方法包括1.var arr = Array(5){""}这将创建一个由5个字符串组成的数组,初始值为空字符串。1.var arr = arrayOfNulls <String?>(5)这将创建一个大小为5的数组,初始值为null。可以使用String数据修改数组。1.var arr = arrayOf(“零”,“一”,“二”,“三”)当你知道数组的内容时,你可以直接初始化数组。1.有一个简单的方法来创建一个多维数组的字符串。
<String?>
var matrix = Array(5){Array(6){""}}
这就是如何创建一个5行6列的矩阵,初始值为空字符串。
iq0todco7#
你也可以使用:
val frases = arrayOf("texto01","texto02 ","anotherText","and ")
字符串例如。
aiazj4mn8#
此示例在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
型希望这对你有帮助
8条答案
按热度按时间2izufjch1#
String
没有特殊情况,因为String
是JVM上的普通引用类型,与Java primitives (int
,double
, ...)相反--将它们存储在引用Array<T>
中需要boxing them into objects likeInteger
andDouble
。Kotlin中的专用数组(如IntArray
)的目的是存储非装箱原语,摆脱装箱和拆箱开销(与Javaint[]
相同,而不是Integer[]
)。你可以使用
Array<String>
(和Array<String?>
用于空值),它相当于Java中的String[]
:字符串
另请参见:语言参考中的 Arrays
ut6juiuv2#
Kotlin的String数组
要在Kotlin中创建一个空的String数组,你应该使用以下六种方法之一:
的一个或多个字符串
但是,如果需要字符数组,请使用以下方法:
型
rdlzhqv93#
使用 arrayOf,arrayOfNulls,emptyArray
字符串
vkc1a9a24#
这些类型的存在是为了让您可以创建基本类型的数组,而不是装箱的类型。由于String不是Java中的原语,因此您可以在Kotlin中使用
Array<String>
作为JavaString[]
的等效物。qgelzfjb5#
对于
Strings
和其他类型,您只需使用Array<*>
。IntArray
和其他文件存在的原因是为了防止自动装箱。所以
int[]
与IntArray
相关,其中Integer[]
与Array<Int>
相关。ax6ht2ek6#
创建String数组的一些常用方法包括
1.var arr = Array(5){""}
这将创建一个由5个字符串组成的数组,初始值为空字符串。
1.var arr = arrayOfNulls
<String?>
(5)这将创建一个大小为5的数组,初始值为null。可以使用String数据修改数组。
1.var arr = arrayOf(“零”,“一”,“二”,“三”)
当你知道数组的内容时,你可以直接初始化数组。
1.有一个简单的方法来创建一个多维数组的字符串。
var matrix = Array(5){Array(6){""}}
这就是如何创建一个5行6列的矩阵,初始值为空字符串。
iq0todco7#
你也可以使用:
字符串
例如。
aiazj4mn8#
此示例在Android中运行完美
在Kotlin中,你可以使用lambda表达式来实现这一点。Kotlin数组构造函数的定义是:
字符串
其评估为:
型
或者:
型
在此示例中,字段定义为:
型
希望这对你有帮助