提问人:zebra14420 提问时间:2/10/2018 最后编辑:John Kugelmanzebra14420 更新时间:2/10/2018 访问量:48
如何在 Java 中为 ArrayList 中实现 Comparable 的对象正确实现方法?[复制]
How do I correctly implement methods for objects that implement Comparable in an ArrayList in Java? [duplicate]
问:
因此,对于一个项目,我必须按字母顺序对封装在实现 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 的方法。
答: 暂无答案
评论
ArrayList