Javaのオブジェクトを漢字の読みのあいうえお順でソートしたい
下記ソースを実行してみましたが漢字の昇順ソートがうまくいっていません。(実行結果として高橋達也が桜木満よりも先に表示されてしまう)。上手くソートされるようにするためにはソースをどう修正すればよろしいでしょうか。
実行結果は下記となります。
安藤純一,27,m,164
井上直美,24,f,158
榎本タスク,24,m,178
榎本恵,24,f,162
高橋達也,23,m,176
桜木満,26,f,163
public class SmartEnergy {
public static void main(String[] args) throws UnsupportedEncodingException {
List<Student> students = new ArrayList<>();
students.add(new Student("井上直美", 24, 'f', 158));
students.add(new Student("高橋達也", 23, 'm', 176));
students.add(new Student("安藤純一", 27, 'm', 164));
students.add(new Student("榎本恵", 24, 'f', 162));
students.add(new Student("榎本タスク", 24, 'm', 178));
students.add(new Student("桜木満", 26, 'f', 163));
Collections.sort(students, new Comparator<Student>() {
public int compare(Student student1, Student student2) {
final Collator japanCollation =Collator.getInstance( Locale.JAPANESE );
int temp = 0;
temp = japanCollation.compare(student1.getName(),student2.getName());
return temp;
}
});
for (Student student : students) {
System.out.println(student.getName() + "," + student.getAge() + ","
+ student.getSex() + "," + student.getHeight());
}