简介
遇到一个需求,需要把银行列表进行字典排序。最初的实现是直接用了Java本身提供的类Collator。Collator这个类可以区分不同语言环境的Stirng来进行比较。然后在这里就遇到了一个坑,它把重庆银行排到了最后,也就是把重理解为了zhong。最后用了pinyin4j这个包,这个包可以处理多音字。
Collator实现
代码实现
public static void main(String[] args) {
String [] banks = {
"中国银行", "重庆银行", "上海浦东发展银行", "兴业银行"};
Arrays.sort(banks, Collator.getInstance(Locale.CHINA));
System.out.println(Arrays.toString(banks));
}
运行结果
这里可以看到,除了重庆银行外