如何比較字串?

在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

上一篇: Java字串 下一篇: Java數組