2008-03-13
项目中关于中文按拼音排序的处理
针对User实体中的姓名按拼音排序
import java.text.Collator;
import java.util.Comparator;
import java.util.Locale;
import java.util.Set;
import java.util.TreeSet;
public class User implements Comparable<User>{
private String name;
private int age;
User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
@Override
public int compareTo(User other) {
if (other == null) {
return 1;
}
Comparator comparator = Collator.getInstance(Locale.CHINA);
return comparator.compare(name, other.getName());
}
}接下来测试下:
public static void main(String[] args) {
User user01 = new User("阿三", 18);
User user02 = new User("段蕾", 19);
User user03 = new User("长江", 11);
User user04 = new User("版主", 25);
Set<User> set = new TreeSet<User>();
set.add(user01);
set.add(user02);
set.add(user03);
set.add(user04);
for (User user : set) {
System.out.print(user.getName() + "---");
}
}输出结果如下:
阿三---版主---长江---段蕾---


评论