Java 程式比較字串


你可以使用 compareTo() 方法,equals() 方法或 == 運算子比較 Java 中的兩個字串。

compareTo() 方法比較兩個字串。比較基於字串中每個字元的 Unicode 值。此 String 物件表示的字元序列按字面意義比較與字元序列表示的引數字串。

如果此 String 物件在按字面意義上位於引數字串之前,則結果為負整數。

如果此 String 物件在按字面意義上位於引數字串之後,則結果為正整數。

如果字串相等,則結果為零,僅當 equals(Object) 方法返回 true 時,compareTo 才返回 0。

示例

即時演示

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

String 類中的 equals() 方法將此字串與指定物件進行比較。僅當引數不為 null 並且為 String 物件,並且表示與該物件相同的字元序列時,結果才為真。

示例

即時演示

public class StringCompareEqual{
   public static void main(String []args){
      String s1 = "tutorialspoint";
      String s2 = "tutorialspoint";
      String s3 = new String ("Tutorials Point");
      System.out.println(s1.equals(s2));
      System.out.println(s2.equals(s3));
   }
}

輸出

true
false

你還可以使用 == 運算子比較兩個字串。但是,它比較給定變數的引用,而不是值。

示例

即時演示

public class StringCompareequl{
   public static void main(String []args){
      String s1 = "tutorialspoint";
      String s2 = "tutorialspoint";
      String s3 = new String ("Tutorials Point");
      System.out.println(s1 == s2);
      System.out.println(s2 == s3);
   }
}

輸出

true
false

更新於: 13-3-2020

6K+ 瀏覽

開始你的 職業

透過完成本課程獲得認證

開始
廣告