Java编程中怎样实现中文排序

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

第一种情况:

Comparator cmp = Collator.getInstance(Java.util.Locale.CHINA);

String[] arr = { "张三", "李四", "王五", "刘六" };

Arrays.sort(arr, cmp);

for (int i = 0; i < arr.length; i++)

System.out.println(arr[i]);

第二种情况:

//ComparableBean.java

import java.text.CollationKey;

import java.text.Collator;

import java.text.RuleBasedCollator;

import java.util.Comparator;

public class ComparableBean{

private String name;

public ComparableBean(String name) {

this.name = name;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

class ComparableBeanComparator implements Comparator//<ComparableBean>

{

RuleBasedCollator collator; // you can set your rules for the instance "collator"

public ComparableBeanComparator()

{

collator = (RuleBasedCollator)Collator.getInstance(java.util.Locale.CHINA);// try testing various locales

}

public int compare(Object obj1, Object obj2) {

String tempname1 = ((ComparableBean) obj1).getName();

String tempname2 = ((ComparableBean) obj2).getName();

CollationKey c1 = collator.getCollationKey(tempname1);

CollationKey c2 = collator.getCollationKey(tempname2);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航