黑马程序员技术交流社区

标题: TreeSet代码问题 [打印本页]

作者: べPNヤ    时间: 2013-9-6 22:03
标题: TreeSet代码问题
本帖最后由 べ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;

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

作者: 李锡碧    时间: 2013-9-6 22:19
都可以的,实现Comparator接口罢了
作者: 常在河边走_    时间: 2013-9-6 22:31
都是可以的,compareTo进行比较的时候也是返回负数,0,正数,终于怎么写,看你的个人了
作者: 辛春鹏    时间: 2013-9-6 22:36
对的啊  好像也讲过 可以用减法的吧
作者: 付建超    时间: 2013-9-7 08:23
实现了comparator接口,覆盖了 int compare(T o1, T o2)  方法,里面自己怎么比较就是自己的想法了,你这样写也是木有问题的。。。加油
作者: 杨增坤    时间: 2013-9-7 08:47
楼主,你好!


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

谢谢合作!






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2