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 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配