如何在 Java 中为 ArrayList 中实现 Comparable 的对象正确实现方法?[复制]

How do I correctly implement methods for objects that implement Comparable in an ArrayList in Java? [duplicate]

提问人:zebra14420 提问时间:2/10/2018 最后编辑:John Kugelmanzebra14420 更新时间:2/10/2018 访问量:48

问:

因此,对于一个项目,我必须按字母顺序对封装在实现 Compare 的 Word 类中的单词进行排序。Word 的实例将在 ArrayList 中从包含算法的单独静态类中排序。我创建了一个标准的选择排序算法,该算法作用于实现 Comparable 接口的对象实例,但在我的主类中,每当我尝试传递 ArrayList < Word >时,它都会抛出错误。我注意到,如果我将类型更改为 ArrayList< Comparable >那么它就可以工作了,但我觉得这不是最好的约定,因为它只会保存 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 传递给作用于 Compartables 的方法。

Java ArrayList 可比

评论

0赞 user202729 2/10/2018
尝试使用泛型。
0赞 zebra14420 2/10/2018
什么意思?
0赞 user202729 2/10/2018
...复制目标不是太好,这不是一个数组。编辑好的,现在最好欺骗目标。ArrayList
0赞 user202729 2/10/2018
回复 OP:阅读第二个骗局。如果您仍然无法理解,请再次询问特定问题。

答: 暂无答案