您的位置:首页 > 其它

String的方法compareToIgnoreCase

2014-03-27 15:49 441 查看
public int compareToIgnoreCase(String str)

不考虑大小写,按字典顺序比较两个字符串。此方法返回一个整数,它的正负号是调用
compareTo
的正负号,调用时使用了字符串的规范化版本,其大小写差异已通过对每个字符调用
Character.toLowerCase(Character.toUpperCase(character))
得以消除。
注意,此方法不 考虑语言环境,因此可能在某些特定的语言环境中产生不理想的排序。java.text 包提供 Collators 来完成语言环境敏感的排序。

参数:
str
- 要比较的
String
返回:一个负整数、零或正整数,视指定的 String 大于、等于还是小于该 String 而定,不考虑大小写。

源码为:

public int compare(String s1, String s2) {

int n1=s1.length(), n2=s2.length();

for (int i1=0, i2=0; i1<n1 && i2<n2; i1++, i2++) {

char c1 = s1.charAt(i1);

char c2 = s2.charAt(i2);

if (c1 != c2) {

c1 = Character.toUpperCase(c1);

c2 = Character.toUpperCase(c2);

if (c1 != c2) {

c1 = Character.toLowerCase(c1);

c2 = Character.toLowerCase(c2);

if (c1 != c2) {

return c1 - c2;

}

}

}

}

return n1 - n2;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: