Java jface treeviewer setComparer方法和setSorter方法之间的区别是什么?
谁能从概念上解释一下(内部工作),jfaceJava 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
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。如果我错了,请原谅。对不起,添加了额外的信息