Bry*_*zer 3 java generics arraylist
我有一个点列表.我将其表示为ArrayLists的ArrayList.我正在尝试使用泛型,以便列表可以存储整数,浮点数等,并对它们进行相同处理.所以我有:
ArrayList<ArrayList<? extends Number>>.
Run Code Online (Sandbox Code Playgroud)
我需要根据每个内部列表中的一个元素来比较这些列表.
所以为了做到这一点,我写了一个我在Collections.sort中使用的自定义Comparator
比较器看起来像:
int compare(ArrayList<? extends Number> a, ArrayList<? extends Number> b )
{
return a.get(index).compareTo(b.get(index))
}
Run Code Online (Sandbox Code Playgroud)
当然这不编译.编译器抱怨通配符类没有compareTo方法.
我正在努力做甚么可能吗?
把你的Comparator班级定义为:
class MyComparator<T extends Number & Comparable<T>>
implements Comparator<ArrayList<T>> {
@Override
public int compare(ArrayList<T> a, ArrayList<T> b) {
return a.get(index).compareTo(b.get(index));
}
}
Run Code Online (Sandbox Code Playgroud)