简单的理解 equals和==的区别

直接上代码:

     //== 比较的是地址
        String test = new String("测试");
        String test1 = new String("测试");
        System.out.println(test==test1);
        String a = new String("Test");
        System.out.println("");
        //equals 比较的是 两个对象的内容
        String demo = new String("Hello");
        String demo1 = new String("Hello");
        System.out.println(demo.equals(demo1));

        //引用类型
        test = a;
        test1 = a;
        System.out.println(test==test1);

结果:

    

第一次:用==比较test和test1 答案是 false 那是因为 它们之间的内容是属于不同的空间,(地址不同)

第二次:用equals比较demo和demo1 答案是 true 因为 equals 比较的是两个对象的相同的内容并没有去比较地址 (有时候也会去比较地址)

第三次:将test和test1对象的值都指向了a(同一个地址),用==去比较,运行结果为true。

猜你喜欢

转载自www.cnblogs.com/oukele/p/9464033.html