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-

解决方案 »

  1.   

    import java.util.*;   public class A{ public static void main(String []argvs){         List<String[]> ss= new ArrayList<String[]>();                for(int i=0;i<2;i++){     String s[] = new String[1];  
            s[0]=i+"-";             ss.add(s);         }         for(String[] test:ss){             System.out.println(test[0]);         } } } 
    就可以了
      

  2.   

    String 直接赋值, String[] 赋地址啊
    s这个数组一直都是同一个, s[0]的值就是最后被修改的。所以后面存的都是S[0] =1