本帖最后由 王梁星 于 2012-10-18 19:18 编辑
- //CollectionTreeSetComparator.java
- import java.util.*;
- class CollectionTreeSetComparator{
- public static void main(String[] args){
- TreeSet ts=new TreeSet(new StrLenCompare());
- ts.add("abc");
- ts.add("abc");
- ts.add("def");
- ts.add("hijiiii");
- ts.add("klmiiiiii");
- ts.add("nqviiiiiiii");
- Iterator it=ts.iterator();
- while(it.hasNext())
- sop(it.next());
- }
- public static void sop(Object obj){
- System.out.println(obj);
- }
- }
- class StrLenCompare implements Comparator{
- public int compare(Object o1,Object o2){
- String s1=(String)o1;
- String s2=(String)o2;
- int num=new Integer(s1.length()).compareTo(new Integer(s2.length()));
- if(num==0)
- return s1.compareTo(s2);
- return num;
- }
- }
- 报错:
- CollectionTreeSetComparator.java:31: 错误: 无法将类 Integer中的构造器 Integer应用到给定类型;
- int num=new Integer(s1.length()).compareTo(new Integer(s2.length()));
- ^
- 需要: 没有参数
- 找到: int
- 原因: 实际参数列表和形式参数列表长度不同
- CollectionTreeSetComparator.java:31: 错误: 无法将类 Integer中的构造器 Integer应用到给定类型;
- int num=new Integer(s1.length()).compareTo(new Integer(s2.length()));
- ^
- 需要: 没有参数
- 找到: int
- 原因: 实际参数列表和形式参数列表长度不同
- 不是我不想自己排错,或许是心太急了,以使察觉不出哪的错
复制代码 我想
|