”==”
“==”代表比较双方是否相同。如果是基本类型则表示值相等,如果是引用类型则表示地址相等即是同一个对象。相同为true,不相同为false;基本数据类型(也称原始数据类型) :byte,short,char,int,long,float,double,boolean。
equal()
所有的java类均继承Ojbect,equals是Object的方法。我们看看equals是怎样实现的:
public boolean equals(Object obj) {
return (this == obj);
}
可以看到equals 也是调用的 == ,所以他们的本质是一样的。
但是在很多类中,对equal()进行了重写,例如String、Integer、Date。我们重点看一下再String类中是如何被重写的:
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;