数组没有填充:add方法的使用不正确?

时间:2016-02-26 14:05:39

标签: java for-loop arraylist

在我的for-loop下面,我尝试将与car IDS相关联的所有persons添加到特定状态。

我的代码编译并运行,但是arrayList:listOfCarIds的大小仍然是 0 。即似乎没有添加任何东西

我是如何实现这一点的?

for(int i=0 ; i < personsWithStatus.size() ; i++)
{
  idOfCarRelatingToPerson = personsWithStatus.get(i).getCarId();

  List<String> listOfCarIds = new ArrayList();

  listOfCarIds.add(idOfCarRelatingToPerson);
}

2 个答案:

答案 0 :(得分:6)

声明你的ArrayList外部,因为你在for循环中声明的ArrayList每次都会初始化,并且只有for循环中的范围。

  List<String> listOfCarIds = new ArrayList();
for(int i=0 ; i < personsWithStatus.size() ; i++) {
       idOfCarRelatingToPerson = personsWithStatus.get(i).getCarId();
       listOfCarIds.add(idOfCarRelatingToPerson);
            }

答案 1 :(得分:1)

您正在循环中声明您的ArrayList。每次循环都会将listOfCarIDs重置为空白的ArrayList。

在循环外声明ArrayList,只使用循环添加到它。