gpt4 book ai didi

Java SuperClass 和 SubClass 扩展可比较

转载 作者:行者123 更新时间:2023-11-29 03:22:26 24 4
gpt4 key购买 nike

我正在做这个作业,我们必须创建两种类型的对象,

public class Person implements Cloneable, Comparable<Person>

public class Book implements Cloneable, Comparable<Book>

该程序的主要任务是使用自己的比较函数对两种类型进行排序,如下所示:

compareTo(Person o)
compareTo(Book o)

因此,我在主函数中创建了 2 个 ListArray,如下所示,用于存储书和人对象,如下所示:

List<Book> bookArray = new ArrayList<Book>();
List<Person> peopleArray = new ArrayList<Person>();

我在另一个类中实现了我的排序算法,如下所示:

public class Sort{
Comparable<Object>[] values;
public Sort(List<Object> inputArray) {
this.values = (Comparable<Object>[]) inputArray.toArray();
}
public doSort() {
//sort implementation...
}

问题出在使用上面的数组调用这个函数时

Sort sorter = new Sort(peopleArray);
sorter.doSort();

Eclipse 显示错误“The constructor Sort(List) is undefined.”我在这里做错了什么?提前谢谢你。

最佳答案

您可以将任何类实例传递给对象类型。但 List 不是 List 的父级。这些只是两种不同的类型。

你可以说

public Sort(List<? extends Object> inputArray) 

这样它就可以接受任何类型。

关于Java SuperClass 和 SubClass 扩展可比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22801318/

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