本篇文章给大家详解介绍一下java comparetoignorecase的使用方法,希望对需要的朋友有所帮助!
java comparetoignorecase() 方法
comparetoignorecase() 方法用于按字典顺序比较两个字符串,不考虑大小写。
语法
int comparetoignorecase(string str)
参数
str -- 要比较的字符串。
返回值
如果参数字符串等于此字符串,则返回值 0;
如果此字符串小于字符串参数,则返回一个小于 0 的值;
如果此字符串大于字符串参数,则返回一个大于 0 的值。
实例
public class test { public static void main(string args[]) { string str1 = "strings"; string str2 = "strings"; string str3 = "strings123"; int result = str1.comparetoignorecase( str2 ); system.out.println(result); result = str2.comparetoignorecase( str3 ); system.out.println(result); result = str3.comparetoignorecase( str1 ); system.out.println(result); }}
以上程序执行结果为:
0-33
说明:
关于comparetoignorecase()方法,不管参数是对象还是字符串,最终要比较的都是两个字符串的不同,以下称调用方法那边的为原字符串,方法参数里的为参数字符串。
这个方法分为两种比较方式:
1、不同的字符在较短字符串长度之内时
返回值=原字符串与参数字符串中第一个不同字符相差的ascii码值,为原减参。
例子如下:
string str1="javdscrspt";string str2="javascript";str1.comparetoignorecase(str2);
此时返回值为3,是d的ascii码(100)减去了a的ascii码值(97)得到或者d与a相差得到的。
注意:只比较第一个不同(这个方法里不考虑字母大小写)的字符,后面的s和i也不一样但不会进行比较了,无关字母大小写所以只比较相同格式下相差的ascii码值。
2、不同的字符在较短字符串长度之外时
返回值=原字符串与参数字符串相差的字符个数,原字符串长度大时为正,反之为负。
例子如下:
string str1="javascript";string str2="java";str1.comparetoignorecase(str2);
此时返回值为6,是str1相比str2多出来的字符个数。
注意:此时只比较位数,而无关ascii码值,并非是s(s)的ascii码值减去0的ascii码值,在参数字符串前面字符和原字符串一样时,返回值就是两者相差的字符个数,即使改变后面的字符也不会影响到返回的值,比如string str1=java233666,此时结果仍是6。
以上就是聊聊java comparetoignorecase的使用方法的详细内容。