我有一个bean OptionItemDTO(属性标签和值)集合,并且我目前正在使用类似这样的标签进行排序:
Collections.sort(combo, new LabelComparator())
问题在于它不会对重读元音进行排序(我的语言环境是西班牙语)。
根据此文档http://blogs.oracle.com/CoreJavaTechTips/entry/sorting_strings,我必须使用Collator类。
但是,如果我使用排序规则进行排序,则无法使用比较器(反之亦然)。有任何想法吗?
提前致谢!
最佳答案
您的LabelComparator应该委派给整理者来比较DTO的标签:
public int compare(OptionItemDTO dto1, OptionItemDTO dto2) {
return collator.compare(dto1.getLabel(), dto2.getLabel());
}