Java中== 与 equals的区别
2009-08-06 12:35
316 查看
== :比较的是引用,较equals严格,要求两个比较对象指向同一个对象的地址。
equals :比较的是值相等,可以是两个不同的对象引用。
注意有一点:equals是Object对象的成员方法,也就是说我们可以通过重写equals
改变判断两个对象的值相等的标准,完全有可能两个对象的值理论上不相等(如3!=5)通过
改写equals方法让他们相等。
而至于同一个类的两个对象实例为什么不同了,好像是这样的:一个类每生成一个对象
实例就会产生一个序列号,如每个人一生下来就有一个身份证id,这个id正是写在equals
方法中成为判断两个类实例是否相等的标准。
还请高人指点上述存在的问题。
equals :比较的是值相等,可以是两个不同的对象引用。
注意有一点:equals是Object对象的成员方法,也就是说我们可以通过重写equals
改变判断两个对象的值相等的标准,完全有可能两个对象的值理论上不相等(如3!=5)通过
改写equals方法让他们相等。
而至于同一个类的两个对象实例为什么不同了,好像是这样的:一个类每生成一个对象
实例就会产生一个序列号,如每个人一生下来就有一个身份证id,这个id正是写在equals
方法中成为判断两个类实例是否相等的标准。
还请高人指点上述存在的问题。
相关文章推荐
- Java中equals和==的区别
- Java中equals方法和==号的区别
- JAVA中字符串比较equals()和equalsIgnoreCase()的区别
- Java中关于==和equal的区别 以及equals()方法重写
- 【Java】双等号和equals的区别
- 【转】Java中equals和==的区别
- Java中==和equals的区别和用法(经典)
- java中String 相关及“==”与equals方法区别
- java易混淆知识“a==b”和”a.equals(b)”有什么区别?
- JAVA 中 == 和 equals 的区别
- Java中==号与equals()的区别
- Java中==号与equals()的区别
- Java中equals()方法和“==”的区别
- Java中equals和==的区别
- 【java】之equals和==区别
- Java中的数据比较(再谈==与equals的区别)
- Java中equals和==的区别
- Java中的==和equals区别
- java中==与equals的区别
- Java学习之equals和==的区别