我有一个bean OptionItemDTO(属性标签和值)集合,并且我目前正在使用类似这样的标签进行排序:

Collections.sort(combo, new LabelComparator())

问题在于它不会对重读元音进行排序(我的语言环境是西班牙语)。

根据此文档http://blogs.oracle.com/CoreJavaTechTips/entry/sorting_strings,我必须使用Collat​​or类。

但是,如果我使用排序规则进行排序,则无法使用比较器(反之亦然)。有任何想法吗?

提前致谢!

最佳答案

您的LabelComparator应该委派给整理者来比较DTO的标签:

public int compare(OptionItemDTO dto1, OptionItemDTO dto2) {
    return collator.compare(dto1.getLabel(), dto2.getLabel());
}

08-07 23:22