本帖最后由 Jim-剣◆﹏ 于 2013-10-21 00:04 编辑
- import java.util.*;
- class GennerDemo
- {
- public static void main(String[] args)
- {
- ArrayList<String> a = new ArrayList<String>(new MyCompareByLength());
- a.add("hjgfd");
- a.add("bvsdf");
- a.add("dsfk");
- a.add("asfd");
- a.add("ytre");
- Iterator<String> it = a.iterator();
- while(it.hasNext())
- {
- System.out.println(it.next());
- }
- }
- }
- class MyCompareByLength implements Comparator<String>
- {
- public int compare(String o1,String o2)
- {
- int num = new Integer(o1.length()).compareTo(new Integer(o2.length()));
- if(num==0)
- return o1.compareTo(o2);
- return num;
- }
- }
复制代码 照着视频打的代码编译不通过,检查好几遍
提示:
GennerDemo.java:10: 错误: 对于ArrayList(MyCompareByLength), 找不到合适的构造器
ArrayList<String> a = new ArrayList<String>(new MyCompareByLengt
h());
^
构造器 ArrayList.ArrayList(Collection<? extends String>)不适用
(无法通过方法调用转换将实际参数MyCompareByLength转换为Collection<? extends
String>)
构造器 ArrayList.ArrayList()不适用
(实际参数列表和形式参数列表长度不同)
构造器 ArrayList.ArrayList(int)不适用
(无法通过方法调用转换将实际参数MyCompareByLength转换为int)
1 个错误
|