1
name
とemail
を持つことができるオブジェクトがいくつかあります。それらを名前でソートし、電子メールでソートしたいのですが、まずヌル名を持たないユーザーを表示します。私はそのようにしようとしていた:最後にヌルを持つコレクションの比較器
Collections.sort(usersList, new Comparator<User>() {
@Override
public int compare(User obj1, User obj2) {
int res = 0;
//to make sure null names at the end
if (obj1.getFullName() == null && obj2.getFullName() == null)
res = 0;
if (obj1.getFullName() == null)
res = 1;
if (obj2.getFullName() == null)
res = -1;
//logic for name sorting then email sorting
if (obj1.getFullName() != null && obj2.getFullName() != null)
res = obj1.getFullName().compareTo(obj2.getFullName());
if (res == 0)
res = obj1.getEmail().compareTo(obj2.getEmail());
return res;
}
});
私は最初に名前を取得しますが、名前ではなく電子メールでソートしました。
あなたはおそらく必要はなく、 "IFS" をたくさんよりも "他の場合"。それ以外の場合は、メソッドの一番下にある「ifs」が「勝利」しています。上のものになっていても、それらのifに入ります。あなたはどういう意味ですか? –
1行ブロックのために '{}'を省略するという習慣から抜け出す。あなたは喜んだでしょう。 – slim