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 に答える