以下实例中我们通过字符串函数 compareTo (string) ,compareToIgnoreCase(String) 及 compareTo(object string) 来比较两个字符串,并返回字符串中第一个字母ASCII的差值。
public class StringCompare
{
public static void main(String args[])
{
String str = " Hello World ";
String anotherString = " hello world ";
Object odjstr = str;
System.out.println( str.compareTo(anotherString));
//compareTo()方法用于将Number对象与方法的参数比较,可用于byte,Long,Integer,仅限于两个相同类型的比较
System.out.println( str.compareToIgnoreCase(anotherString));//忽略大小写
System.out.println( str.compareTo(objstr.toString()));//toString的好处是在碰到“println”之类的输出方法时会自动调用,不用显式打出来
}
}
输出:
-32//返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方。
0 //指定数与参数相等返回0,指定数小返回-1,指定数大返回1
0
例子://number
public class Test
{
public static void main(String args[])
{
Integer x = 5;
System.out.println(x.compareTo(3));
System.out.println(x.compareTo(5));
System.out.println(x.compareTo(8));
}
}
例子://string
int compareTo(Object o) //字符串与对象进行比较 o要比较的对象
int compareTo(String anotherString) //按字典顺序比较两个字符串
public class Test
{
public static void main(String args[])
{
String str1 = "Strings";
String str2 = "Strings";
String str3 = "Strings123";
int result = str1.compareTo( str2 );
System.out.println(result);
result = str2.compareTo( str3 );
System.out.println(result);
result = str3.compareTo( str1 );
System.out.println(result);
}
}
输出结果:
0 //如果参数字符串等于此字符串,则返回值 0
-3 //如果参数字符串小于此字符串,则返回值 一个小于0的数
3 //如果参数字符串大于于此字符串,则返回值 一个大于0的数