使用Collections.sort()方法对于中文字符进行排序,并不是按照中文拼音的顺序,原因是Collator类执行的是区分语言环境的String比较。
可调用Collator的静态方法getInstance()来获取所需语言环境的Collator对象。详细信息可查询API。
核心代码为
1 class xxCompare implements Comparator 2 { 3 public int compare(Object one,Object two) 4 { 5 TestClass s1=(TestClass) one; 6 TestClass s2=(TestClass) two; 7 return Collator.getInstance(Locale.CHINA).compare(s1.getName(),s2.getName()); 8 } 9 }
此时Collections.sort(xx)方法应为Collections.sort(xx,new xxCompare());