比较对象--"=="与"equal"的区别

        String stra=new String("你好");
        String strb=new String("你好");
        String strc=stra;
        boolean a=stra==strb;
        boolean b=stra==strc;

        boolean c=stra.equals(strb);
        boolean d=stra.equals(strc);
        System.out.println("使用==进行比较");
        System.out.println("stra和strb的比较"+a+"
"+"stra和strc的比较"+b);
        System.out.println("使用equals");
        System.out.println("stra和strb的比较"+c+"
"+"stra和strc的比较"+d);

代码运行结果:

这里写图片描述

从以上的程序结果中可以看出,使用”==”判断的是二者是否为同一个对象,比较的是两个对象的地址,即便两个对象的值是相同的,地址不同也会输出false。
使用equal比较的是两者的值,即便不是同一个对象,只要值相同,就会输出true

原文地址:https://www.cnblogs.com/liuurick/p/10713714.html