use*_*127 12 java string-comparison
可能重复:
如何比较Java中的字符串?
我无法理解为什么声明的变量不一样.
前代码:
String firstPart = "F";
String whole = "False";
String connected = firstPart + "alse";
System.out.println(connected == whole);
Run Code Online (Sandbox Code Playgroud)
现在这产生一个布尔值,我认为它将是"真的"但它不是,它出来是假的,我不明白为什么.
有人可以解释一下吗?
Fem*_*ref 20
您正在比较参考,而不是值.
你需要使用equals:
connected.equals(whole);
Run Code Online (Sandbox Code Playgroud)
Bri*_*new 14
这个
String connected = firstPart + "alse";
Run Code Online (Sandbox Code Playgroud)
使用新的基础char数组和新引用创建一个新 String对象.
因此,当您比较引用(使用'=='')时,您将无法获得匹配.如果你比较实际的对象内容equals()然后你会得到你想要的结果(因为String.equals()比较底层char数组的内容)
| 归档时间: |
|
| 查看次数: |
2626 次 |
| 最近记录: |