0

我所知

==用于比较参考。 .equals()用于比较内容。

java中有一个字符串池。例如我创建了一个字符串如下

String s ="ABC";那么这个地址是假设12345

当我使用相同的字符串时,即“ABC”相同的字符串将在两个地方共享。这意味着两个字符串的地址相同。

== 用于比较引用。在这种情况下,两个字符串的地址相同。那么为什么我需要使用 equals() 方法。如果我错了,请纠正我。

public class StringComparison {

public static void main(String[] args)
{
    String s1 ="test";
    String s2 = "test";

    if(s1 == s2)
        System.out.println("BOTH ARE  == ");
    else
        System.out.println("BOTH ARE != ");


    String s3 = new String("test");
    String s4 = new String("test");

    if(s3 == s4)
        System.out.println("BOTH ARE  == ");
    else
        System.out.println("BOTH ARE != ");

  }
}

OUTPUT:
BOTH ARE  == 
BOTH ARE != 

但是参考链接说new String("test") == new String("test") ==> false

4

0 回答 0