Jér*_*ôme 7 java string comparison equals
我想用Java中的几行代码来演示,比较两个字符串(String),你必须使用equals()而不是运算符==.
这是我尝试过的东西:
public static void main(String Args[]) {
String s1 = "Hello";
String s2 = "Hello";
if (s1 == s2)
System.out.println("same strings");
else
System.out.println("different strings");
}
Run Code Online (Sandbox Code Playgroud)
我期待这个输出:different strings,因为测试s1 == s2我实际上是在比较两个引用(即地址)而不是objet的内容.
但事实上,我这样的输出:same strings!
浏览我发现,一些Java实现将优化上述代码,以便在互联网s1和s2 将实际引用相同的字符串.
那么,==在比较Java中的字符串(或对象)时,如何使用运算符演示问题?
tan*_*ens 17
编译器做了一些优化,你的情况,以便s1和s2真的是同一个对象.你可以通过使用来解决这个问题
String s1 = new String( "Hello" );
String s2 = new String( "Hello" );
Run Code Online (Sandbox Code Playgroud)
然后,您有两个具有相同文本内容的不同对象.
| 归档时间: |
|
| 查看次数: |
1004 次 |
| 最近记录: |