字符串数组文字?我该如何编码呢?

lol*_*f64 41 arrays kotlin

虽然这可能是一个愚蠢的问题,但我无法弄清楚如何声明一个数组文字分组一些字符串文字.

例如,假设我想要java数组["January", "February", "March"].我怎样才能将其翻译成最新的kotlin版本(today, 12.0.0)

我试过了什么?

stringArray("January", "February", "March")
Run Code Online (Sandbox Code Playgroud)

Had*_*iri 111

您可以使用arrayOf(),如

val literals = arrayOf("January", "February", "March")
Run Code Online (Sandbox Code Playgroud)

  • @yooouuri只允许注释,只是在Kotlin 1.2中引入:https://kotlinlang.org/docs/reference/whatsnew12.html#array-literals-in-annotations (5认同)
  • 或者使用`["January","February","March"]` (4认同)
  • 只需注意,你真的可以这样做:**'val literals = arrayOf <String>("January","February","March")'**但是参数类型**<String>**已经是显式的通过数组的内容,这样就可以了,可以省略. (2认同)

Jim*_*ard 6

arrayOf(翻译为JavaArray)是一种选择。这为您提供了一个可变的、固定大小的所提供元素的容器:

val arr = arrayOf("January", "February", "March")
Run Code Online (Sandbox Code Playgroud)

也就是说,无法扩展此集合以包含更多元素,但您可以更改其内容。

如果您想要一个可变大小的集合,而不是固定大小的集合,则可以使用arrayListOfmutableListOfmutableListOf 当前返回 anArrayList,但这可能在某些时候发生变化):

val arr = arrayListOf("January", "February", "March")    
arr.add("April")
Run Code Online (Sandbox Code Playgroud)

当然,还有第三种选择,即不可变的固定大小集合,List. 这不支持其内容的突变并且无法扩展。要创建一个,您可以使用listOf

val arr = listOf("January", "February", "March") 
Run Code Online (Sandbox Code Playgroud)