在Java中,如何比較字串?
以下示例通過使用str.compareTo(string)
,str.compareToIgnoreCase(String)
和compareTo(object string)
的字串類比較兩個字串,並返回比較字串的第一個奇數字元的ascii
差異。
public class StringCompareEmp{
public static void main(String args[]){
String str = "Hello World";
String anotherString = "hello world";
Object objStr = str;
System.out.println( str.compareTo(anotherString) );
System.out.println( str.compareToIgnoreCase(anotherString) );
System.out.println( str.compareTo(objStr.toString()));
}
}
執行上面示例代碼將產生以下結果 -
-32
0
0
使用equals()方法比較
equals()
方法將此字串與指定的對象進行比較。當且僅當參數不為null
且是表示與該對象相同的字元序列的String對象時,結果為:True
。
package com.zaixian;
public class StringCompareequlA {
public static void main(String[] args) {
String s1 = "zaixian";
String s2 = "zaixian";
String s3 = new String("zaixian");
String s4 = new String("zaixian");
System.out.println(s1.equals(s2));
System.out.println(s2.equals(s3));
System.out.println(s3.equals(s4));
}
}
執行上面示例代碼將產生以下結果 -
true
true
false
使用==比較
package com.zaixian;
public class StringCompareequlB {
public static void main(String[] args) {
String s1 = "zaixian";
String s2 = "zaixian";
String s3 = new String("zaixian");
String s4 = new String("zaixian");
System.out.println(s1 == s2);
System.out.println(s2 == s3);
System.out.println(s3 == s4);
}
}
執行上面示例代碼將產生以下結果 -
true
false
false