A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© べPNヤ 中级黑马   /  2013-9-6 22:03  /  1371 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 べPNヤ 于 2013-9-7 10:24 编辑

今天看毕老师视频一段复写compare代码有个小小的疑问
毕老师的代码是
public  LenComparatot implements Comparator<String>{
     public int compare(String s1,String s2){
            int num=new Integer(s1.length()).compareTo(new Integer(s2.length()));      //此处为什么不写成 int num=s1.length()-s2.length();
            if (num==0){
                  return s1.compareTo(s2);
                 return num;
            }
     }
}


个人写成   int num=s1.length()-s2.length();
                 return num==0?s1.cmpareTo(s2):num;

想知道毕老师那样写的原因,还有我自己的写法有无问题,反正运行没事

评分

参与人数 2技术分 +2 收起 理由
黄兴旺 + 1
薛鹏鹏 + 1

查看全部评分

5 个回复

倒序浏览
都可以的,实现Comparator接口罢了

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

回复 使用道具 举报
都是可以的,compareTo进行比较的时候也是返回负数,0,正数,终于怎么写,看你的个人了

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1

查看全部评分

回复 使用道具 举报
对的啊  好像也讲过 可以用减法的吧
回复 使用道具 举报
实现了comparator接口,覆盖了 int compare(T o1, T o2)  方法,里面自己怎么比较就是自己的想法了,你这样写也是木有问题的。。。加油

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
楼主,你好!


如果您的问题解决了,请把您问题的未解决更改为已解决

谢谢合作!

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马