iteye_6860 2009-10-12 16:52
浏览 415
已采纳

这段代码上的toUpperCase和toLowerCase为什么都要判断呢

        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,你已经帮我解答过好几个问题了。。。
  • 写回答

7条回答 默认 最新

  • CaiHuajiang 2009-10-12 22:12
    关注

    [code="java"]Character.isUpperCase(Character.toUpperCase('ⴌ'))[/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘