Java 知识点二:==与equals的选择

在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,而重写的依然是直接用的==

posted @ 2020-12-02 09:39  Voca  阅读(26)  评论(0)    收藏  举报