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 次 |
最近记录: |