比较对象--"=="与"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+"\n"+"stra和strc的比较"+b);
System.out.println("使用equals");
System.out.println("stra和strb的比较"+c+"\n"+"stra和strc的比较"+d);

代码运行结果:

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

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

使用equal比较的是两者的值,即便不是同一个对象,只要值相同,就会输出true

上一篇:skynet记录2:模块简介


下一篇:如何让一个类可以被foreach枚举?