因此,对于一个项目,我必须按字母顺序对单词进行排序,这些单词封装在实现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的方法。