【问题标题】:In Java, why does String == String evaluate to true inside a method (as opposed to using .equals())? [duplicate]在 Java 中,为什么 String == String 在方法内计算为真(而不是使用 .equals())? [复制]
【发布时间】:2015-02-12 22:10:39
【问题描述】:

如果我有:

Boolean isEqual = compare("Hello World");

Boolean compare(String c) {
    String s = "Hello World";
    return s == c;
}

根据我的经验,这返回 true。为什么?

【问题讨论】:

  • 字符串文字是“实习生”的,这意味着实际上只有一个字符串。

标签: java string equals equals-operator


【解决方案1】:

因为它是一个已被实习的字符串文字,所以使用相同的实例。

使用new String("Hello World") 使其为假。

之前在这里也问过很多很多次

【讨论】:

  • 那你为什么要回答这个问题而不是参考原来的答案?
  • 酷,谢谢!对不起,重复了,我会删除这个。我正在使用移动设备,所以我很难找到提出这个问题的其他人。
猜你喜欢
  • 1970-01-01
  • 2021-12-03
  • 1970-01-01
  • 2019-02-12
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 2010-12-31
  • 1970-01-01
相关资源
最近更新 更多