Date/Time 初級

1回の明確な呼び出しで値を指定範囲にクランプする。

✕ Java 8
// Clamp value between min and max
int clamped =
    Math.min(Math.max(value, 0), 100);
// or: min and max order confusion
✓ Java 21+
int clamped =
    Math.clamp(value, 0, 100);
// value constrained to [0, 100]
このコードに問題がありますか? お知らせください。
📖

自己文書化

clamp(value, min, max)は意味が一目瞭然です。

🛡️

エラーが起きにくい

minとmaxの順序を誤って入れ替えることがなくなります。

🎯

全数値型対応

int、long、float、doubleに対応しています。

旧来のアプローチ
ネストしたmin/max
モダンなアプローチ
Math.clamp()
JDKバージョン
21
難易度
初級
Math.clamp()
利用可能

JDK 21 LTS(2023年9月)以降、広く利用可能

Math.clamp(value, min, max)は値を[min, max]の範囲に制限します。ネストしたMath.min/Math.maxより明確で、int・long・float・doubleに対応しています。

共有 𝕏 🦋 in