比如要对中文字符串按照拼音做升序排列
测试demo1:
public class Test {
public static void main(String[] args) {
String[] strings = new String[]{"张三(Z)", "李四(L)", "王五(W)"};
Arrays.sort(strings);
for (int i = 0; i < strings.length; i++) {
System.out.println((i + 1) + "、" + strings[i]);
}
}
}
运行结果如下:
从运行结果可以看到,和预想的结果【李四(L),王五(W),张三(Z)】不一致。
加入中文排序器,修改代码如下:
/**
* 中文排序
*/
public class Test {
public static void main(String[] args) {
String[] strings = new String[]{"张三(Z)", "李四(L)", "王五(W)"};
//定义一个中文排序器
Collator instance = Collator.getInstance(Locale.CHINA);
Arrays.sort(strings, instance);
for (int i = 0; i < strings.length; i++) {
System.out.println((i + 1) + "、" + strings[i]);
}
}
}
运行结果如下:
实现了中文字符串的升序排序。