如何正确实现Java中ArrayList中实现Comparable的对象的方法?

时间:2018-02-10 03:23:05

标签: java arraylist comparable

因此,对于一个项目,我必须按字母顺序对单词进行排序,这些单词封装在实现Comparable的Word类中。 Word的实例将在包含该算法的单独静态类的ArrayList中进行排序。我已经创建了一个标准的选择排序算法,该算法作用于实现Comparable接口的对象的实例,但是在我的主类中,每当我尝试传递ArrayList时它都会抛出错误。 Word>。我注意到如果我将类型更改为ArrayList<可比较的>然后它工作,但我觉得这不是最大的约定,因为它只会保存Word对象。我做错了什么,如果有的话,我该怎么做才能解决这个问题?

我会附上我认为有必要的代码来形象化我的意思

ArrayList的声明和实例化:

private static ArrayList<Word> words;
words = new ArrayList<Word>();

引发错误的问题:

ObjectALSelectionSort.selectionSort(words);

Word类的标题:

public class Word implements Comparable<Word>

selectionSort()方法的标头:

public static void selectionSort(ArrayList<Comparable> list)

我想真正让我感到困惑的是,为什么我无法将实现Comparable的对象的ArrayList传递给作用于Comparables的方法。

0 个答案:

没有答案