在Java中除了数值、字符和布尔,其余的都是对象,包括我们使用的数组
在Java中 == 默认比较内存位置
故:除去基本数据类型以外的数据都应该使用 equals 进行比较
public static void main(String[] args) {
Integer a = new Integer(100);
Integer b = new Integer(100);
System.out.println(a == b);
System.out.println(a.equals(b));
}
根据自动拆箱和装箱结果应该是
true
true
但实际上结果却是
false
true
因为a,b的地址不同
不过枚举类都可以,因为枚举类已经重写了equals,而重写的依然是直接用的==