比较对象--"=="与"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);
代码运行结果:
从以上的程序结果中可以看出,使用”==”判断的是二者是否为同一个对象,比较的是两个对象的地址,即便两个对象的值是相同的,地址不同也会输出false。
使用equal比较的是两者的值,即便不是同一个对象,只要值相同,就会输出true