日期:2014-05-20  浏览次数:20629 次

equals问题又来啦
Java code


public class StringTest {
    public static void main(String[] args) {
        
        char[] char1 = new char[3];
        char[] char2 = new char[3];
        char1 = new char[]{'a','c','f'};
        char2 = new char[]{'a','c','f'};
        
        System.out.println(char1.equals(char2));
    }
}


求前辈解释一下输出结果呀
刚才发错地方了 
这里还有30分
http://topic.csdn.net/u/20111103/17/655dd47b-3050-48ae-8311-7791a4dcd7ac.html


------解决方案--------------------
已回答 请给分!
------解决方案--------------------
char1 和 char2 是两个引用,分别指向两个不同的数组对象。这两个对象是不同的,所以equals得出false。
------解决方案--------------------
CHAR 又不是 STRING ~~
STRING EQUALIS 是STRING类重写过的~~
其他对象的EQUALIS 跟==一样
------解决方案--------------------
mark一下,等人来解答
------解决方案--------------------
这里的 equals 相当于 Object 的 equals,就是比较地址
和 == 一样

而楼主,你需要的是这个方法:
Arrays.equals(char1, char2);