【问题标题】:Kotlin - Iterate through arrayKotlin - 遍历数组
【发布时间】:2020-04-23 07:24:44
【问题描述】:

我有一个这样的数组,我想遍历它并获取值“B”。我知道如何在 Java 中获取它,但我不知道如何在 Kotlin 中获取它。有人可以告诉我怎么做吗?

private val myArray = arrayOf({"A";"B"},{"C";"D"})

谢谢。

【问题讨论】:

  • 嗯我不认为这个数组做你认为它做的事情。目前它是一个包含 2 个函数的数组,第一个返回“B”,第二个返回“D”。 A 和 C 被完全忽略。您能否发布您想要转换的完整 Java 代码(数组和循环)?另请注意,IntelliJ 或 Android Studio 可以自动将 Java 转换为 Kotlin。
  • 实际上,我使用 myArray 来存储名字和姓氏。这是我在 Java 中的代码 (int i = 0; i

标签: arrays kotlin


【解决方案1】:

{} 不是在 kotlin 中创建数组的有效运算符,您必须改用 arrayOf()。在 kotlin 中,{} 保留用于创建 lambda 函数。

你可以像这样遍历数组:

private val myArray = arrayOf(arrayOf("A", "B"),arrayOf("C", "D"))

for (innerArray in myArray) {
    for(element in innerArray) {
        println(element) // or your logic to catch the "B"
    }

}

【讨论】:

  • 你拼错了 println。
【解决方案2】:

只需一个循环即可完成

   val arr: Array<Array<String>> = arrayOf(arrayOf("A", "B"), arrayOf("C", "D"))
   for (arr2: Array<String> in arr) {
      val contains: Boolean = arr2.contains("B")
      if (contains) {
           println(arr2)
           break
       }
     }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-11
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    相关资源
    最近更新 更多