有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何正确地为在Java中的ArrayList中实现Compariable的对象实现方法?

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

我会附上代码,我觉得这是必要的可视化我的意思

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)

我想真正让我困惑的是,为什么我不能传递一个ArrayList的对象,这些对象实现了可比性,而方法作用于可比性


共 (0) 个答案