📅  最后修改于: 2020-09-24 03:37:47             🧑  作者: Mango
我们可以根据内容和参考来比较java中的字符串。
它用于身份验证(通过equals()方法),排序(通过compareTo()方法),引用匹配(通过==运算符)等。
有三种方法可以比较Java中的字符串:
Stringequals()方法比较字符串的原始内容。它比较字符串的值是否相等。字符串类提供两种方法:
"class Teststringcomparison1{
public static void main(String args[]){
String s1="Sachin";
String s2="Sachin";
String s3=new String("Sachin");
String s4="Saurav";
System.out.println(s1.equals(s2));//true
System.out.println(s1.equals(s3));//true
System.out.println(s1.equals(s4));//false
}
}
"class Teststringcomparison2{
public static void main(String args[]){
String s1="Sachin";
String s2="SACHIN";
System.out.println(s1.equals(s2));//false
System.out.println(s1.equalsIgnoreCase(s2));//true
}
}
==运算符比较引用而不是值。
"class Teststringcomparison3{
public static void main(String args[]){
String s1="Sachin";
String s2="Sachin";
String s3=new String("Sachin");
System.out.println(s1==s2);//true (because both refer to same instance)
System.out.println(s1==s3);//false(because s3 refers to instance created in nonpool)
}
}
StringcompareTo()方法按字典顺序比较值,并返回一个整数值,该值描述第一个字符串是否小于,等于或大于第二个字符串。
假设s1和s2是两个字符串变量。如果:
"class Teststringcomparison4{
public static void main(String args[]){
String s1="Sachin";
String s2="Sachin";
String s3="Ratan";
System.out.println(s1.compareTo(s2));//0
System.out.println(s1.compareTo(s3));//1(because s1>s3)
System.out.println(s3.compareTo(s1));//-1(because s3 < s1 )
}
}