Java面试题之==,equals

前言

首先我们要先知道的他们的区别?

==:在基本数据类型比较时,比较的是值;而在引用数据类型比较时,则比较的是引用的地址

equals:比较的只有值

面试题

       String a1 = "a";
        String a2 = "a";
        String a3 = new String("a");
        String a4 = new String("a");

        System.out.println(a1 == a2);
        System.out.println(a1.equals(a2));
        System.out.println(a2 == a3);
        System.out.println(a3 == a4);
        System.out.println("--------------------------------");
        Integer a = 1;
        Integer b = 1;
        System.out.println(a==b);
        System.out.println(a.equals(b));
        Integer c = 666;
        Integer d = 666;
        // 取值范围在-128 -127,超出为false
        System.out.println(c==d);
        // Integer 自动拆箱
        System.out.println(c.equals(d));

        结果为:
        true
        true
        false
        false
        --------------------------------
        true
        true
        false
        true

 

阅读剩余
THE END