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;
}
难道判断一个还不够安全?
比如说A和b不等,都转成大写字母(或者小写字母)判断一下就行了呗,难道是为了特殊的字符?
问题补充:
可能是我没有说清楚
我的意思是两个不相等的字符如'A'和'h',用toUpperCase判断后为什么还要用toLowerCase再判断一次?
问题补充:
那哪些特殊的字符需要两次判断?
谢谢啦
问题补充:
举一个例子就好
问题补充:
哈哈,
我也找到一个
Character.toUpperCase('ú')
谢谢大家,我真想每个人都给点分
问题补充:
分给蔡华江吧
虽然lovewhzlq答得是对的
谢谢lovewhzlq,你已经帮我解答过好几个问题了。。。