List<String[]> list = new LinkedList<String[]>();
String[] strs = new String[2];
for(int i = 0; i < 100; i++){
strs[0] = "1";
strs[1] = "2";
list.add(strs);
}
这样,list中的所有数据将会是最后录入的一条数据,因为加入的是它的引用的地址
List<String[]> list = new LinkedList<String[]>();
for(int i = 0; i < 100; i++){
String[] strs = new String[2];
strs[0] = "1";
strs[1] = "2";
list.add(strs);
}
String[] strs = new String[2];
for(int i = 0; i < 100; i++){
strs[0] = "1";
strs[1] = "2";
list.add(strs);
}
这样,list中的所有数据将会是最后录入的一条数据,因为加入的是它的引用的地址
List<String[]> list = new LinkedList<String[]>();
for(int i = 0; i < 100; i++){
String[] strs = new String[2];
strs[0] = "1";
strs[1] = "2";
list.add(strs);
}
只有每次都新建一个新的数组,才能够保存想要的数据
其实错误在于,list是引用类型,add方法加入的是引用地址,如果orderInfo的初始化放在for循环外面,
那么orderInfo的实例对象只有一个,list中添加的每一个orderInfo里面的内容都是相同的,都为每一次for循环获取的值。
所以orderInfo对象要在for循环内部定义,用的时候定义,每一次创建新的对象!