如何比较字符串?

在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数组