1700443034
1700443035
String[]strs={“张三(Z)”,“李四(L)”,“王五(W)”};
1700443036
1700443037
//定义一个中文排序器
1700443038
1700443039
Comparator c=Collator.getInstance(Locale.CHINA);
1700443040
1700443041
//升序排列
1700443042
1700443043
Arrays.sort(strs, c);
1700443044
1700443045
int i=0;
1700443046
1700443047
for(String str:strs){
1700443048
1700443049
System.out.println((++i)+”、”+str);
1700443050
1700443051
}
1700443052
1700443053
}
1700443054
1700443055
输出结果如下:
1700443056
1700443057
1、李四(L)
1700443058
1700443059
2、王五(W)
1700443060
1700443061
3、张三(Z)
1700443062
1700443063
这确实是我们期望的结果,应该举杯庆贺了吧!但是且慢,中国的汉字博大精深,Java是否都能精确的排序呢?最主要的一点是汉字中有象形文字,音形分离,是不是每个汉字都能按照拼音的顺序排列好呢?我们写一个复杂的汉字来看看:
1700443064
1700443065
public static void main(String[]args)throws Exception{
1700443066
1700443067
String[]strs={“犇(B)”,“鑫(X)”};
1700443068
1700443069
Arrays.sort(strs, Collator.getInstance(Locale.CHINA));
1700443070
1700443071
int i=0;
1700443072
1700443073
for(String str:strs){
1700443074
1700443075
System.out.println((++i)+”、”+str);
1700443076
1700443077
}
1700443078
1700443079
}
1700443080
1700443081
三个牛“犇”读bēn,三个金“鑫”读xīn,这两个字经常出现在饭店和商店的名称上,我们来看排序的输出结果:
1700443082
1700443083
1、鑫(X)
[
上一页 ]
[ :1.700443034e+09 ]
[
下一页 ]