-1

我有以下代码

Data currentNode = treeList.get(i);
Collections.sort(currentNode.childrenList, new Comparator<Data>() {
    @Override
    public int compare(final Data object1, final Data object2) {
        return object1.getNodeName().compareTo(object2.getNodeName());
    }
   } 
);

但是.sort用红色下划线和 Eclipse 建议Rename in file

这个模棱两可的错误是什么意思?

如果我这样做了,请注意: Collections.sort(treeList...即使Collections.sort(currentNode.childrenList... 错误消失了treeList,而且childrenList实际上是相同的。

4

1 回答 1

2

您正在尝试对 aList<Children>与 a进行排序Comparator<Data>。这就是你得到错误的原因。AList<Children>应该使用 aComparator<Children>或 a进行排序Comparator<SomethingThatChildrenExtendsOrImplements>

在非计算机术语中,您正在尝试将香蕉与比较苹果的东西进行分类。分类香蕉可以用能够分类香蕉的东西来完成,也可以用能够分类任何水果的东西来完成。

于 2013-05-05T17:24:05.033 回答