相关疑难解决方法(0)

是什么让参考比较(==)适用于Java中的某些字符串?

我有以下代码行来比较String.str1不等于str2,这是可以理解的,因为它比较了对象引用.但那么为什么s1等于s2?

String s1 = "abc";
String s2 = "abc";

String str1 = new String("abc");
String str2 = new String("abc");

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

if (str1==str2)
    System.out.println("str1==str2");           
else
    System.out.println("str1!=str2");

if (s1==str1)
    System.out.println("str1==s1");         
else
    System.out.println("str1!=s1");
Run Code Online (Sandbox Code Playgroud)

输出:

  s1==s2
  str1!=str2
  str1!=s1 
Run Code Online (Sandbox Code Playgroud)

java string equals

60
推荐指数
6
解决办法
1万
查看次数

标签 统计

equals ×1

java ×1

string ×1