码迷,mamicode.com
首页 > 编程语言 > 详细

[转]关于Java对中文排序的问题

时间:2015-10-06 18:08:03      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

 

 

 
1
2
3
4
5
6
Comparator chinese_cmp = Collator.getInstance(Locale.CHINA);
 
String[] strs = new String[] { "王五", "李二", "吴二" };
Arrays.sort(strs, chinese_cmp);
for (String str : strs)
      System.out.println(str);

上面这段代码是用来对中文进行排序,执行后的结果是:

李二
王五
吴二

但是,如果运行这个程序的时候指定了扩展jar包路径,例如

java -Djava.ext.dirs=xxxx   类名

得到的结果就变成了

吴二
李二
王五

百思不得其解,想起以前做加密的时候也曾遇见类似的问题,明明一个运行很好的程序放到其他地方就不能跑,原因是跟jre的扩展lib目录中的jar包问题,再次打开 JRE/lib/ext 目录发现有这么一个文件 localedata.jar,猜想应该跟这个文件有关,把这个文件拷贝到手工指定的扩展jar包路径xxxx中后,再次运行程序,问题解决。

[转]关于Java对中文排序的问题

标签:

原文地址:http://www.cnblogs.com/ZhuRenWang/p/4857452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!