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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hanjun 中级黑马   /  2015-1-16 16:53  /  876 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /*
  2. 练习:按照字符串长度排序。

  3. 字符串本身具备比较性。但是它的比较方式不是所需要的。

  4. 这时就只能使用比较器。



  5. */

  6. import java.util.*;
  7. class  TreeSetTest
  8. {
  9.         public static void main(String[] args)
  10.         {
  11.                 TreeSet ts = new TreeSet(new StrLenComparator());

  12.                 ts.add("abcd");
  13.                 ts.add("cc");
  14.                 ts.add("cba");
  15.                 ts.add("aaa");
  16.                 ts.add("z");
  17.                 ts.add("hahaha");

  18.                 Iterator it = ts.iterator();

  19.                 while(it.hasNext())
  20.                 {
  21.                         System.out.println(it.next());
  22.                 }
  23.         }
  24. }

  25. class StrLenComparator implements Comparator
  26. {
  27.         public int compare(Object o1,Object o2)
  28.         {
  29.                 String s1 = (String)o1;
  30.                 String s2 = (String)o2;

  31.                 /*
  32.                 if(s1.length()>s2.length())
  33.                         return 1;
  34.                 if(s1.length()==s2.length())
  35.                         return 0;
  36.                         */

  37.                        

  38.                 int num = new Integer(s1.length()).compareTo(new Integer(s2.length()));
  39.                 int num=s1.length().compareTo(s2.length());
  40.                 if(num==0)
  41.                         return s1.compareTo(s2);

  42.                 return num;
  43.         }
  44. }

  45. int num = new Integer(s1.length()).compareTo(new Integer(s2.length()));
  46.                 int num1=s1.length().compareTo(s2.length());
复制代码



上边的比较中为什么不用num1进行比较,而是要用integer??

1 个回复

倒序浏览
integer  是基本数据类型包装类  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马