可能重复:
如何比较Java中的字符串?
String s1 = "andrei";
String s2 = "andrei";
String s3 = s2.toString();
System.out.println((s1==s2) + " " + (s2==s3));
Run Code Online (Sandbox Code Playgroud)
给出以下代码为什么第二个比较s2 == s3为真?实际上s2.toString()返回的是什么?实际位于何处(s2.toString())?
可能重复:
Java中的等字符串不相等(==)?
从Eclipse的Display窗口:
messages.get(i).getMsg() == lastMsg
(boolean) false
messages.get(i).getMsg().length()
(int) 14
lastMsg.length()
(int) 14
messages.get(i).getMsg()
(java.lang.String) INSERT QUARTER
lastMsg
(java.lang.String) INSERT QUARTER
Run Code Online (Sandbox Code Playgroud)
相当新的Java.第一个陈述怎么可能是假的?我在这里错过了一些非常简单的东西吗?