The method of using Collator.getInstance () compare (source, target) [return type int] -.> Instead of the String.compareTo (...)
String using Unicode code can not be accurately sort of Chinese
class User{
private String username;
private int age;
//getter/setter
}
TreeSet<User> ts = new TreeSet<>(new Comparator<User>() {
@Override
public int compare(User o1, User o2) {
return (o1.getAge()-o2.getAge()) !=0 ? (o1.getAge()-o2.getAge()) : Collator.getInstance().compare(o1.getUsername(), o2.getUsername());
}
});