Java String比较
我们可以根据内容和引用来比较java中的字符串。
它用于身份验证(通过equals()方法) ,排序(通过compareTo()方法),引用匹配(通过==运算符)等。
在Java中有三种比较字符串的方法:
通过equals()方法
按 == 运算符
通过compareTo()方法
1)通过equals()方法进行字符串比较
String equals()方法比较字符串的原始内容。它比较字符串的值是否相等。字符串类提供了两种方法:
公共布尔值equals(另一个对象)将此字符串与指定对象进行比较。
公共布尔equalsIgnoreCase(另一个字符串)将此字符串与另一个字符串进行比较,而忽略大小写。
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));
System.out.println(s1.equals(s3));
System.out.println(s1.equals(s4));
}
}
class Teststringcomparison2{
public static void main(String args[]){
String s1="Sachin";
String s2="SACHIN";
System.out.println(s1.equals(s2));
System.out.println(s1.equalsIgnoreCase(s2));
}
}
输出:
2)字符串比较==运算符
= =运算符比较引用而不是值。
class Teststringcomparison3{
public static void main(String args[]){
String s1="Sachin";
String s2="Sachin";
String s3=new String("Sachin");
System.out.println(s1==s2);
System.out.println(s1==s3);
}
}
3)通过compareTo()方法比较字符串
String compareTo()方法按字典顺序比较值并返回一个整数值,该值描述第一个字符串是否小于,等于或大于第二个字符串。
假设s1和s2是两个字符串变量。如果:
s1 == s2 : 0
s1 > s2 : 正值
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));
System.out.println(s1.compareTo(s3));
System.out.println(s3.compareTo(s1));
}
}