import java.util.*;public class A{
public static void main(String []argvs){
List<String[]> ss= new ArrayList<String[]>();
String s[] = new String[1];
for(int i=0;i<2;i++){
s[0]=i+"-";
ss.add(s);
}
for(String[] test:ss){
System.out.println(test[0]);
}
}
}
这段代码的输出结果是
1-
1-为什么不是
0-
1-
public static void main(String []argvs){
List<String[]> ss= new ArrayList<String[]>();
String s[] = new String[1];
for(int i=0;i<2;i++){
s[0]=i+"-";
ss.add(s);
}
for(String[] test:ss){
System.out.println(test[0]);
}
}
}
这段代码的输出结果是
1-
1-为什么不是
0-
1-
s[0]=i+"-"; ss.add(s); } for(String[] test:ss){ System.out.println(test[0]); } } }
就可以了
s这个数组一直都是同一个, s[0]的值就是最后被修改的。所以后面存的都是S[0] =1