我有
List<ABC> abcList = new ArrayList<ABC>();
ABC abc = new ABC();
for (int i = 0; i < abcList.length; i++) {
abc.setX(5)
abc.setY(5-10) // just an example to easy to understand
abcList.add(abc)
}
System.out.println(Integer.toString(offsetList.get(0).getY()));
我希望结果是-5,但是日志打印0并且对于遗留对象它是相同的。我正在学习java,所以请告诉我如何从for循环中获取arraylist?
答案 0 :(得分:0)
每次都必须重新初始化你的abc变量。
您的arrayList在开头也是空的。它永远不会进入for循环。
List<ABC> abcList = new ArrayList<ABC>();
for (int i = 0; i < 10; i++) {
ABC abc = new ABC();//You have to re-initialise your variable each time.
abc.setX(i);
abc.setY(i - i * 2);
abcList.add(abc);
}
System.out.println(abcList.get(0).getY());
答案 1 :(得分:0)
只需删除for loop
即可获得答案。
要向list
添加单个元素,您不需要for loop
。