在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