Java中的Collections.sort()

use*_*911 1 java sorting collections list object

我在写一个sortedAdd(T node)方法LinkedList.我怎么能比较node.key_current.key_?我不能使用<(升序),因为它是通用的.

public void sortedAdd(T node){
  ...
  Node<T> current = header;
  while (current != null) {
    if (node.key_ < current.key_) {
      ...
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Per*_*ror 7

java.lang.Object没有实现Comparable.Collections.sort(List)期望T实现Comparable.

来自Collection.sort(列表)

根据元素的自然顺序,将指定列表按升序排序.列表中的所有元素都必须实现Comparable接口.

我相信你的代码应该是:

 List<String> list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)