これは単なる疑問な質問ですが、私はしばらく探していましたが、回答が得られません。Comparableオブジェクトのより小さいインスタンスとより大きいインスタンスを専用変数に抽出する
void someMethod(Timeslot t1, Timeslot t2) {
Timeslot start, end;
if (t1.compareTo(t2) >= 0) {
start = t1;
end = t2;
} else {
start = t2;
end = t1;
}
// do something with start and end
}
t1
とt2
は、通常範囲の限界ですが、この方法では、下限及び第二のことを第一引数を必要としない、次のブロックはかなり頻繁に繰り返されるThrought私のプロジェクト
高いほうになるように、私はちょうどあなたが上に見ることができるものをして、どの限界がどれほど些細なものかを理解します。
ちょうどDRYになりたいのですが、もっと簡潔な方法でこれを行う方法や方法があるのだろうかと思います。おそらくJava 8の新機能のいくつかがこれをやってくれます。このようなもの?
void someMethod(Timeslot t1, Timeslot t2) {
Timeslot t1, t2;
assignLimits(t1, t2, Timeslot::compareTo); // does this exist?
}
おそらく私が求めているのは絶対的に些細なことであり、わたしは明らかに何かを欠いているかもしれません。この場合、私にこれを見てもらうのを助けてください。または、元のチャンクを繰り返すだけで何も問題はありません。
「最小」と「最大」で「ペア」を返すものを自分で作成します。 –
また、2つの要素の 'LinkedList'と' getFirst'と 'getLast'を'ソート 'します。または 'List'と' get(0) 'と' get(1) 'です。 –
AFAIK Javaには、ネイティブにペアがありません。 – dabadaba