对于引用类型的比较,==比较的是两个对象的内存地址,这个好说,纠结的equals,本来以为比较的对象的内容,后来看到说这个说法错误,因为看object内equals的源代码中的比较就是用的==,一个类如果没有定义equals方法,它将默认继承Object中的equals方法,返回值与==方法相同。这又郁闷了,
随便搞两个对象比较下,比如String str1=new String("hello");String str2=new String("hello");
str1==str2,返回false,str1.equals(str2).返回true,请大神详解下这个东东??
|