自定义对象的java ArrayList
我有一个只有一个字符串字段的简单类,还有ArrayList。 当我为循环添加一些元素到ArrayList时,发生了一些奇怪的事情
ArrayList<MyClass> list = new ArrayList<Myclass>();
MyClass mc = new MyClass();
for(int i=0;i<someNumber;i++){
String s = new String(Integer.toString(i));
mc.setString(s);
list.add(mc);
}
之后,当我打印列表时,列表中每个元素的字符串都是相同的
我明白,如果我的list.add(new Myclass(s);
工作正常,那么我是否需要每次都创建一个MyClass的新实例?如果someNumber
很大,则会占用太多内存。谢谢
# 1 楼答案
您需要在循环中移动对象mc的实例化