字符串按照中文排序

比如要对中文字符串按照拼音做升序排列

测试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]);
        }
    }
}

运行结果如下:
在这里插入图片描述
实现了中文字符串的升序排序。

猜你喜欢

转载自blog.csdn.net/weixin_38106322/article/details/108352654