【问题标题】:string array literal ? How do I code it simply?字符串数组文字?我如何简单地编码?
【发布时间】:2018-10-31 03:31:43
【问题描述】:

虽然这可能是一个愚蠢的问题,但我不知道如何声明一个数组文字,将一些字符串文字分组。

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

我尝试了什么?

stringArray("January", "February", "March")

【问题讨论】:

    标签: arrays kotlin


    【解决方案1】:

    你可以使用arrayOf(),如

    val literals = arrayOf("January", "February", "March")
    

    【讨论】:

    • 请注意,您真的可以这样做:'val literals = arrayOf("January", "February", "March")' 但参数 类型已经被数组的内容明确了,所以这样就可以了,可以省略。
    • 或使用["January", "February", "March"]
    • @yooouuri 只允许在注释中使用,并且只在 Kotlin 1.2 中引入:kotlinlang.org/docs/reference/…
    【解决方案2】:

    arrayOf(转换为Java Array)是一种选择。这为您提供了一个可变的、固定大小的元素容器:

    val arr = arrayOf("January", "February", "March")
    

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

    如果您想要一个可变大小的集合而不是固定大小的集合,您可以使用 arrayListOfmutableListOfmutableListOf currently returns an ArrayList,但这可能会在某些时候改变):

    val arr = arrayListOf("January", "February", "March")    
    arr.add("April")
    

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

    val arr = listOf("January", "February", "March") 
    

    【讨论】:

      猜你喜欢
      • 2013-07-06
      • 2011-02-21
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-05
      • 2012-06-01
      相关资源
      最近更新 更多