对ArrayLists的通用ArrayList进行排序

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方法.

我正在努力做甚么可能吗?

ars*_*jii 5

把你的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)