gpt4 book ai didi

java - 如何在Java中使用泛型类的父类(super class)型?

转载 作者:行者123 更新时间:2023-12-01 06:46:59 29 4
gpt4 key购买 nike

在我的代码中,我有许多 ArrayList 被传递到排序方法中。每个 ArrayList 都有不同的泛型类型,但所有这些类型都是 Sorter 的实现。排序方法旨在接受 Sorter 类型的 ArrayList。我的问题是,我还没有找到一种方法将数组列表的类型转换为它们的父类(super class)型,以便它们可以传递到排序器方法中。排序方法的格式如下:

public static ArrayList<Sorter> quicksort(ArrayList<Sorter> members);

类 Spatial 是排序器的实现,如下所示:

public abstract class Spatial implements Sorter

但是,当调用快速排序方法时会生成错误(children 是 Spatial 类型的 ArrayList):

children = ListSorter.quicksort(children);

有什么想法吗?

最佳答案

试试这个:

public static <T extends Sorter> ArrayList <T> quicksort(ArrayList<T> members);

或者更好的是,这个:

public static <T extends Sorter> List <T> quicksort(List<T> members);

关于java - 如何在Java中使用泛型类的父类(super class)型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8766932/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com