私はjava beansのリストを持っていますが、今度は指定されたプロパティとソート順でソートしたいと考えています (プロパティとソート順は入力パラメータです)指定されたプロパティとソート順のリストをソートする方法
class Person{
private String userName;
private Integer age;
private String address;
public void sort(List<Person> ps, String property, String sortOrder)
{
// How to use the property and sortOrder??
Collections.sort(ps);
}
}
sortList()
メソッドを作成する最適な方法は何ですか? 実際に私はこれを行う一つの方法があります。 Personに対して2つの静的プロパティを書くことができます。並べ替えの前にこれらの2つのプロパティを設定します。
class Person implements Comparable<Person>{
private String userName;
private Integer age;
private String address;
public static String sortProperty;
public static String sortOrder;
public void sort(List<Person> ps, String property, String sortOrder)
{
Person.sortProperty=property;
Person.sortOrder=sortOrder;
Collections.sort(ps);
}
@Override
public int compareTo(Person o)
{
// find the property with Person.sortProperty using reflection
// then sort the property
}
}
これは良い解決策ではありません。誰も私にいくつかの提案を与えることができますか?事前に感謝
リフレクションの使用を避けるための良い選択肢です。 +1。 –