如何比較字串?

2019-10-16 22:31:11

在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.yiibai;

public class StringCompareequlA {
    public static void main(String[] args) {
        String s1 = "yiibai";
        String s2 = "yiibai";
        String s3 = new String("yiibai");
        String s4 = new String("Yiibai");
        System.out.println(s1.equals(s2));
        System.out.println(s2.equals(s3));
        System.out.println(s3.equals(s4));
    }
}

執行上面範例程式碼將產生以下結果 -

true
true
false

使用==比較

package com.yiibai;

public class StringCompareequlB {
    public static void main(String[] args) {
        String s1 = "yiibai";
        String s2 = "yiibai";
        String s3 = new String("yiibai");
        String s4 = new String("Yiibai");
        System.out.println(s1 == s2);
        System.out.println(s2 == s3);
        System.out.println(s3 == s4);
    }
}

執行上面範例程式碼將產生以下結果 -

true
false
false