我有以下代码
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
几乎相同,错误也会消失。
答案 0 :(得分:2)
您尝试使用List<Children>
对Comparator<Data>
进行排序。这就是你得到错误的原因。 List<Children>
应使用Comparator<Children>
或Comparator<SomethingThatChildrenExtendsOrImplements>
进行排序。
在非计算机方面,你试图用比较苹果的东西来分类香蕉。香蕉排序可以用能够分类香蕉的东西,或者用能够分类任何种类水果的东西来分类。