1.对于基础数据类型,使用“=="比较值是否相等;
2.对于复合数据类型(类),使用equals()和“==”效果是一样的,两者比较的都是对象在内存中的存放地址(确切的说,是堆内存地址)。
3.对于String、Integer、Date等覆盖了equals()方法的类型,“==”比较的是存放的内存地址。而equals()的结果则由覆盖后的代码决定。
4.string类型中,equals()比较的是两字符串内容是否相同。如:
1
2
3
4
5
6
7
8
|
String s1 =
"Hello"
;
String s2 =
"Hello"
;
s1.equals(s2)返回
true
;
s1==s2返回
true
;
String s1 =
"Hello"
;
String s2 =
new
String(
"Hello"
);
s1.equals(s2)返回的还是
true
;
但是s1==s2返回
false
;
|