---------------------- android培训、java培训、期待与您交流! ----------------------
java语言中用来进行等价判断的是“==”和默认(没有被重写)的“equals()”方法,在平时的使用中的我们有时会模糊他们之间的差别,
其实呢,我们只需要记住两点就可以判别它们之间的区别——①对于基本数据类型,两者进行等价判断时判断的是基本类型的值,只要值相等,那么判断
结果就为真;②对于引用型数据,“==”比较的是对象的hashcode编码,也就是在内存中的位置,即是否为同一个对象,如果是同一个则为真;而默认的
“equals()”则在比较一些特定的引用类型上(如String,File,Date以及封装类型)数据时,只要两个对象的类型相同且内容相等(对象各自封转的属性值对应相等),
那么该方法就判断为真。所以,我们在使用的时候就要考虑我们要比较的是内容相同还是对象相同。正如张孝祥老师讲解反射时比较String字节码对象时,判断是否为同一个字节码用“==”,而不用“equals()”。但是我们一但重写了“equals()”,改变了它的判断标准,那么我们就要根据具体情况来看了。
---------------------- android培训、 java培训、期待与您交流! ---------------------- 详细请查看: http://edu.csdn.net/heima