“a==b”和”a.equals(b)”有什么区别?
2017-12-14 11:11
218 查看
“a==b”和”a.equals(b)”有什么区别?
如果 a 和 b 都是对象,则 a==b 是比较两个对象的引用,只有当
a 和 b 指向的是堆中的同一个对象才会返回 true,而 a.equals(b) 是进行逻辑比较,当内容相同时,返回true,所以通常需要重写该方法来提供逻辑一致性的比较。例如,String 类重写 equals() 方法,所以可以用于两个不同对象,但是包含的字母相同的比较。
如果 a 和 b 都是对象,则 a==b 是比较两个对象的引用,只有当
a 和 b 指向的是堆中的同一个对象才会返回 true,而 a.equals(b) 是进行逻辑比较,当内容相同时,返回true,所以通常需要重写该方法来提供逻辑一致性的比较。例如,String 类重写 equals() 方法,所以可以用于两个不同对象,但是包含的字母相同的比较。
相关文章推荐
- c#中 ==与equals有什么区别
- java-“==”、equals和hashcode有什么区别
- "=="和equals方法有什么区别
- "=="和equals方法究竟有什么区别
- java易混淆知识“a==b”和”a.equals(b)”有什么区别?
- “==”和equals方法究竟有什么区别?
- java基础问题----"=="和equals方法究竟有什么区别
- ==和equals方法究竟有什么区别?
- "=="和equals方法究竟有什么区别
- "=="和 和 equals 方法究竟有什么区别
- "=="和equals方法究竟有什么区别?
- ==和equals方法究竟有什么区别
- "=="和equals方法究竟有什么区别?
- C# 中的 == 和 equals()有什么区别?
- java中"=="和equals方法究竟有什么区别?
- Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
- "=="和equals方法究竟有什么区别?
- "=="和equals方法究竟有什么区别?
- Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
- C# 中的 == 和 equals()有什么区别?