Collections.sort() error

三世轮回 提交于 2019-12-02 07:21:21

To be able to use the single-argument version of Collection.sort() on an ArrayList of A, A should implement the Comparable interface:

public class A implements Comparable<A> {
  ...
  @Override
  int compareTo(A rhs) {
    ...
  }
}

Here's the signature of Collections.sort :

public static <T extends Comparable<? super T>> void sort(List<T> list)

A must implement Comparable for this method.

You try to pass BinOrder to this method, when BinOrder is of type ArrayList<A>, but since A does not implement Comparable<A>, it doesn't fit the signature of the method.

Either change A to implement Comparable, or use the sort method that accepts a Comparator :

public static <T> void sort(List<T> list, Comparator<? super T> c)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!