为甚麽d和e单独打印出来的结果一模一样但是用“==”来比较却为false,用equals()方法比较为true。
原因就是因为“==”判断的是地址值,equals()方法判断的是内容
public class Main {
public static void main(String[] args) {
String b="Hello";
String c="Word";
String d="HelloWord";
String e=b+c;
System.out.println(d);
System.out.println(e);
if (d==e) {
System.out.println(true);
}else {
System.out.println(false);
}
打印结果:
HelloWord
HelloWord
false
把“==”换成equals()方法
public class Main {
public static void main(String[] args) {
String b="Hello";
String c="Word";
String d="HelloWord";
String e=b+c;
System.out.println(d);
System.out.println(e);
if (d.equals(e)) {
System.out.println(true);
}else {
System.out.println(false);
}
打印结果:
HelloWord
HelloWord
true