字符串连接和使用==的比较

时间:2016-01-20 10:45:46

标签: java

为什么结果是假的? 有人可以解释一下吗?

public class StringTest1 {
    public static void main(String[] args) {
    String a="a";
    String b=a+"b";
    String c="ab";
    System.out.println(b==c);
    }
}

2 个答案:

答案 0 :(得分:1)

因为他们没有指向记忆中的同一个物体。

==用于比较基本类型或对象引用。

您想要做的是比较他们的价值,您需要使用equals(Object o)equalsIgnoreCase(Object o)方法

答案 1 :(得分:0)

  

此比较的输出为FALSE,因为您已创建了两个   堆中具有不同位置的对象,因此==比较它们   引用或地址位置并返回false。

了解详情:http://java67.blogspot.com/2012/11/difference-between-operator-and-equals-method-in.html#ixzz3xmRzfSkP