import java.util.*;
class GenericDemo
{
public static void main(String[] args)
{
ArrayList<String> al=new ArrayList<String>(new MyCompare());
al.add("asd001");
al.add("asd021");
al.add("asd022223");
al.add("asd0111114");
// al.add(4);
for (Iterator<String> it=al.iterator();it.hasNext() ; )
{
String s=(String)it.next();
sop(s.length());
}
}
public static void sop(Object o)
{
System.out.println(o);
}
}
class MyCompare implements Comparator<String>
{
public int compare(String s1,String s2)
{
int num=new Integer(s1).compareTo(new Integer(s2));
if (num==0)
{
return s1.compareTo(s2);
}
return num;
}
}
GenericDemo.java:7: 错误: 对于ArrayList(MyCompare), 找不到合适的构造器
ArrayList<String> al=new ArrayList<String>(new MyCompare());
^
构造器 ArrayList.ArrayList(Collection<? extends String>)不适用
(无法通过方法调用转换将实际参数MyCompare转换为Collection<? extends String>
)
构造器 ArrayList.ArrayList()不适用
(实际参数列表和形式参数列表长度不同)
构造器 ArrayList.ArrayList(int)不适用
(无法通过方法调用转换将实际参数MyCompare转换为int)
1 个错误 |
|