在Java语言环境中,
“==”是等价运算符,判断等式两边是否相等。返回boolean类型。相等返回true,不等返回false。
在基本数据类型中“==”比较他们的值。在复合数据类型中“==”比较的是他们在内存中的地址。只有在
他们指向同一地址的时候返回true,否则就是false。
说到equals,equals() 是Object类中定义的一个方法,我们都知道程序中所有的类都继承Object类。
equals()方法里也是用“==”进行比较的,按说equals()方法也是比较的他们内存中存放的地址值,但是这
只是它的初始行为。在很多类库里面都对equals()方法进行了重写。如String,Integer,Date这些类中的
equals()都被赋予了别的用处。
比如在学习Set集合时只要是hashCode和equals()都相等时就被认为是同一个对象/元素,会报错。
但是用''=="比较时,他们依然是不相等的。