==
- == 既可以比较基本类型也可以比较引用类型。
对于基本类型就是比较值,对于引用类型就是比较内存地址。
equals()
- 1.是一个方法,而非运算符
- 2.只能适用于引用数据类型
简而言之,==用于基本变量间的值比较,equals用于比较对象值间是否相等
而用==对对象进行比较实际比较的是它们间的地址是否相等
例
数组中使用泛型后它们之间的值比较
//查找数组中是否有元素e
public boolean contains(E e) {
for(int i=0;i<size;i++) {
if(data[i].equals(e))
return true;
}
return false;
}
使用泛型生成引用对象,故必须使用equals()来比较