Java jface treeviewer setComparer方法和setSorter方法之间的区别是什么?

Java jface treeviewer setComparer方法和setSorter方法之间的区别是什么?,java,eclipse-plugin,eclipse-rcp,jface,Java,Eclipse Plugin,Eclipse Rcp,Jface,谁能从概念上解释一下(内部工作),jfacetreeviewersetComparer方法和setSorter方法之间的区别是什么 setSorter是一种过时的方法,已被setComparator取代 setSorter使用的ViewerSorter类仅支持使用Collator进行排序 setComparator使用的ViewerComparator类支持任何Comparator类 当查看器搜索其内部HashMap以查找匹配元素时(例如调用refresh(element)),将使用由setCo

谁能从概念上解释一下(内部工作),jface
treeviewer
setComparer
方法和
setSorter
方法之间的区别是什么

setSorter
是一种过时的方法,已被
setComparator
取代

setSorter
使用的
ViewerSorter
类仅支持使用
Collator
进行排序

setComparator
使用的
ViewerComparator
类支持任何
Comparator

当查看器搜索其内部
HashMap
以查找匹配元素时(例如调用
refresh(element)
),将使用由
setComparer
方法设置的
IElementComparer
类。有时,实际对象上的
equals
hashCode
方法不适合此查找,因此您可以使用
IElementComparer
提供替代方法


因此,
setComparer
不像
setSorter
setComparator
方法那样用于对视图进行排序。

应该提出概念性问题。您是否希望了解库的源代码是如何工作的,或者,您是想了解它们之间的差异,以便您可以选择在自己的代码中使用哪一个?嗨,Greg,感谢您的快速响应,但我想了解setComparer而不是setComparator。如果我错了,请原谅。对不起,添加了额外的信息