【问题标题】:call different variables with the same prefix changing only suffix调用具有相同前缀的不同变量仅更改后缀
【发布时间】:2018-11-10 17:25:10
【问题描述】:

我有 20 个变量(可能是 20 个不同的 mutableList 项,也可能是 20 个按钮或任何其他对象),例如:

var ex1 
var ex2 
var ex3 
...
var ex20 

我需要创建一个for 循环,如下所示:

for (i in 0 until 20) {
//here i want to do something with variable that i have declared earlier
i+1
}

那么,我怎样才能遍历所有变量?

【问题讨论】:

  • 使用数组...
  • 编辑了我的帖子以阐明我在“变量”下考虑的内容
  • 20个不同的mutableList项,也可能是20个按钮可以存储在一个数组中。

标签: java android-studio kotlin


【解决方案1】:

创建一个数组 var[] ex 并将所有 20 个 var 元素插入该数组。在 for 循环中迭代数组以访问 20 个 var 元素

【讨论】:

    【解决方案2】:

    这不太可能,您应该真正考虑使用数组来处理这种行为。

    val array = arrayOf(5, 32, 555, 921)
    
    //To get numbers in array
    for(num in array) {
        //Do something
    }
    
    //To change numbers in array
    for(i in 0 until array.size) {
        array[i] = 2
    }
    

    【讨论】:

    • 也许改成0 until array.size
    • 更改了@forpas 指出的答案。使用 0..array.size 会导致崩溃。
    • 编辑了我的帖子以阐明我在“变量”下考虑的内容
    • 你还有 20 个 mutableList 或者 20 个按钮,为什么不把它们放到一个数组或者列表中呢?我可以使用枚举想出一个肮脏的解决方案,但我永远不会推荐你使用它。 (如果您还想看,请告诉我。)您可能希望将变量放入数组或列表中。
    • 或者你很可能使用反射来实现这一点,但不要这样做,因为这对你来说是一种不好的做法。
    猜你喜欢
    • 1970-01-01
    • 2022-11-18
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 2019-11-12
    相关资源
    最近更新 更多