【发布时间】:2012-01-07 02:46:58
【问题描述】:
在我的代码中,我有许多 ArrayLists 被传递到一个排序方法中。这些 ArrayList 中的每一个都有不同的 Generic 类型,但所有这些类型都是 Sorter 的实现。排序方法旨在接受 Sorter 类型的 ArrayList。我的问题是我还没有找到一种方法将数组列表的类型转换为它们的超类型,以便可以将它们传递给排序器方法。下面是 sorter 方法的格式:
public static ArrayList<Sorter> quicksort(ArrayList<Sorter> members);
Spatial 类是 sorter 的一个实现,如下所示:
public abstract class Spatial implements Sorter
但是,当调用快速排序方法时会产生错误(children 是 Spatial 类型的 ArrayList):
children = ListSorter.quicksort(children);
有什么想法吗?
【问题讨论】:
标签: java generics arraylist supertype