首页  >  文章  >  Java  >  聊聊Java compareToIgnoreCase的使用方法

聊聊Java compareToIgnoreCase的使用方法

巴扎黑
巴扎黑原创
2017-06-10 17:29:492249浏览

本篇文章给大家详解介绍一下Java compareToIgnoreCase的使用方法,希望对需要的朋友有所帮助!

聊聊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
-3
3

说明:

关于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的使用方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn