一个简单的问题:==与equals的区别
来源:互联网 发布:阿沁的淘宝店铺叫什么 编辑:程序博客网 时间:2024/06/15 05:07
Java的==和equals的区别很容易混淆
1. 语义上:==指的是内存引用一样。equals是指的是逻辑相等。逻辑相等具体的意思由编写者决定。
2. 默认情况下(继承自Object类),equals和==是一样的,除非被覆写(override)了。
public boolean equals(Object obj) { return (this == obj); }
- 最典型equals已经被override的例子是String; String中的字符串文本相等则视为逻辑相等(s1.equals(s2)==true
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String) anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; }
4.使用==比较基本数据类型类型如:boolean、int、char等等,使用equals()比较对象。
阅读全文
0 0
- 一个简单的问题:==与equals的区别
- 字符串 用==与equals的区别问题
- equals与==,equals与hashcode的区别
- equals与==的简单分析
- equals(Object) 与 == 的区别
- ==与equals的区别
- equals(Object) 与 == 的区别
- equals()与==的区别
- ==与equals()的区别
- equals与==的区别
- Java ==与equals()的区别
- equals(Object) 与 == 的区别
- ==与equals()的区别
- == 与 equals() 的区别
- equals(Object)与==的区别
- c# equals与==的区别
- equals()方法与==的区别
- ==与equals的区别
- Django提交表单出错”django, CSRF token missing or incorrect”
- CodeForces #426 div2 C The Meaningless Game
- AtomicInteger源码分析
- sqoop运用
- Tomcat中垃圾回收调优
- 一个简单的问题:==与equals的区别
- C语言(9)C小加 之 随机数
- 名企笔试:支付宝红包口令(2015 阿里笔试)
- 【总结】DFS算法模板及题型分类
- Python中对元组和列表按条件进行排序的方法示例
- iOS开发
- lambda
- 修改字体颜色
- linux下MySQL的启动