我有2个数组。譬如说是
String[]  frist ={“aa”,"bb","cc"};String[]  secend ={“aa”,"bb","cc"};
我要取他们值的不同组合。
我是这样写的:
for(int i=0;i<fromCode.length;i++){
    for(int j=0;j<toCode.length;j++){
       if(fromCode[i] != toCode[j]){
String aa =fromCode[i]+toCode[j];
System.out.println(aa);
}
}

上面我举得例子运行结果是对了。但是在实际中我的数组元素很多,出来的结果是不对啊,愁死了。

解决方案 »

  1.   

    用if(!fromCode[i].equals(toCode[j])){
    试试。
      

  2.   

    改成
    if(!fromCode[i].equals(toCode[j])){
      

  3.   

    String []first = {"a","b","c"};
    String []second = {"b","e","f"};
    for(String f : first){
    for(String s : second){
    System.out.println(f+s);
    }
    }
      

  4.   

    应该就是没有用equals的问题。
    因为像顶楼这样的字符串字面量,==比较和equals比较结果是一样的。
    如果换了个数组中的字符串是动态计算出来的,则==和equals结果会不一样。这就是问题所在。