简单的理解 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。

 

posted @ 2018-08-12 19:30  追梦滴小蜗牛  阅读(577)  评论(0编辑  收藏  举报