为什么结果是假的? 有人可以解释一下吗?
public class StringTest1 {
public static void main(String[] args) {
String a="a";
String b=a+"b";
String c="ab";
System.out.println(b==c);
}
}
答案 0 :(得分:1)
因为他们没有指向记忆中的同一个物体。
==
用于比较基本类型或对象引用。
您想要做的是比较他们的价值,您需要使用equals(Object o)
或equalsIgnoreCase(Object o)
方法
答案 1 :(得分:0)
此比较的输出为
FALSE
,因为您已创建了两个 堆中具有不同位置的对象,因此==
比较它们 引用或地址位置并返回false。