【发布时间】:2011-11-20 17:10:11
【问题描述】:
假设你有三个字符串,
String s1 = "string one";
String s2 = new String("string one");
String s3 = "string one";
我知道s1 == s2 是false 是真的,但我在某处读到s1 == s3 是true。它是否正确?为什么或为什么不?
【问题讨论】:
-
它是否存在可能只是一时的兴趣,但你不应该这样做。
==用于对象标识, 不是字符串比较。 -
@paxdiablo:如果您专门处理字符串文字,可以使用
==。但是必须记录这通常是一件很痛苦的事情,因此更容易全面使用equals()。 -
是的,我知道这一切。我多年来一直在用 java 编程,只是想知道:)。好像不应该是这样的……
-
这已经在 SO stackoverflow.com/search?q=compare+string+equal+java 上被震死了