不要なコードを書くこともあります。私の質問は非常に簡単です: 次のような方法はありますか?
/** @return true if a given value is inside the range. */
public static boolean range(min, max, value)
Googleで見つけられませんでした。存在しないからでしょうか?
メソッドを持つ型付きRange
クラスを作成できます。within
public class Range<T extends Comparable<T>> {
private final T min;
private final T max;
public Range( T min, T max ) {
this.min = min;
this.max = max;
}
public boolean within( T value ) {
return min.compareTo(value) <= 0 && max.compareTo(value) >= 0;
}
}
テストのグループで最小値と最大値が同じであるrange
場合、すべてのテストでオブジェクトを再利用できます。
FWIW、これはちょっと便利そうです!
Apache Commons Lang には、 NumberRangeを含む多数の Range 実装があります。
Commons Lang 3 には一般的な実装があります。
うーん...
value >= min && value <= max
そのための関数が本当に必要な場合は、自分で簡単に書くことができますか?
存在しません。
そのための「賢明な」場所は Math モジュールにありますが、式で非常に単純に表現されているため
min < value && value < max
少し過剰に思えます。