java - 使用索引 (i) 在 for 循环中声明变量

标签 java android variables dynamic loops

我非常接近让这个项目发挥作用,但我陷入了一件让我发疯的事情上,我在我的研究中找不到任何有效的东西。

我需要做的是每次 for 循环经过记录集时声明一个新变量,但我需要在变量名称中使用索引值 (i)。

我需要帮助的行是 Bottles o[i] = new Bottles();

每次 for 循环再次通过时,我都需要定义一个新变量,例如,我的变量最终应该是 o1、o2、o3 等。我现在在 [i] 上遇到语法错误我似乎不知道如何做到这一点。

对我在这里缺少的东西有什么想法吗?

private void getBottles() {
        try {
            m_bottles = new ArrayList<Bottles>();
            for (int i = 0; i < bottleNamesMap.size(); i++) {
                Bottles o[i] = new Bottles();
                o[i].setbottleID(bottleIntMap.get("bottleID" + i));
                o[i].setname_abbr(bottleNamesMap.get("name" + i));
                o[i].setorigin(bottleNamesMap.get("origin" + i));
                o[i].setbottlePicture(bottleNamesMap.get("bottlePicture" + i));
                o[i].setprice_reported(bottleNamesMap.get("price" + i));
                o[i].setdistillery(bottleNamesMap.get("distillery" + i));
                o[i].setagg_score(bottleIntMap.get("aggscore" + i));
                m_bottles.add(o[i]);
                Thread.sleep(2000);
                Log.i("ARRAY", "" + m_bottles.size());
            }
          } catch (Exception e) {
            Log.e("BACKGROUND_PROC", e.getMessage());
          }
          runOnUiThread(returnRes);
      }

最佳答案

 Bottles o[i] = new Bottles();

应该是:

  Bottles o = new Bottles();

然后删除[i]。 new 关键字每次迭代都会创建一个新对象。

            Bottles o = new Bottles();
            o.setbottleID(bottleIntMap.get("bottleID"+i));
            o.setname_abbr(bottleNamesMap.get("name"+i));
            o.setorigin(bottleNamesMap.get("origin"+i));
            o.setbottlePicture(bottleNamesMap.get("bottlePicture"+i));
            o.setprice_reported(bottleNamesMap.get("price"+i));
            o.setdistillery(bottleNamesMap.get("distillery"+i));
            o.setagg_score(bottleIntMap.get("aggscore"+i));
            m_bottles.add(o);

关于java - 使用索引 (i) 在 for 循环中声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8704461/

相关文章:

Javascript 和 JQuery - 将 DOM 插入 JQuery

C 将循环中存储的整数相加

java - "variable name"占用多少空间?

java - 使用 Rabbit 模板读取交换消息

java - 排序三个命令行整数

android - 如何在android中动态地给map api key

android - 如何将时间选择器对话框用于其他用途?

android - Kotlin 支持字段有什么用?

java - Android 在 View Pager 的 Parent Activity fragment 中设置 View

java - IDEA 不想使用 javax 中的 NotNull,而是使用 org.jetbrains