菜鸟教程 -- 学的不仅是技术,更是梦想!

Java 教程
(追記) (追記ここまで)

Java compareToIgnoreCase() 方法

Java String类Java String类


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

Java String类Java String类

AI 思考中...

1 篇笔记 写笔记

  1. #0

    天之上

    136***[email protected]

    24

    关于这个方法,不管参数是对象还是字符串,最终要比较的都是两个字符串的不同,以下称调用方法那边的为原字符串,方法参数里的为参数字符串。

    这个方法分为两种比较方式:

    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。

    天之上

    136***[email protected]

    9年前 (2017年11月07日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /