0
 public void sort1(){
    Comparator<OCell> byOrder = new Comparator<OCell>(){

        public int compare(OCell c1, OCell c2){
            return c1.getData() < c2.getData();
        }
    };
    Collections.sort(list, byOrder);
    print();
}
static OLinkedList<Integer> list = new OLinkedList<Integer>();

这是我到目前为止提出的,但它不起作用。有什么帮助吗?

4

1 回答 1

3

方法Comparator.compare必须返回一个整数,但您的表达式c1.getData() < c2.getData()是一个布尔表达式。您必须修复您的方法,可能如下所示:

c1.getData() > c2.getData() ? 1 : (c1.getData() < c2.getData() ? -1 : 0)
于 2013-06-02T19:58:45.470 回答