Date/Time Początkujący

Ogranicz wartość do zakresu jednym czytelnym wywołaniem.

✕ 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]
Widzisz problem z tym kodem? Daj nam znać.
📖

Samo-dokumentujący

clamp(value, min, max) jest jednoznaczne.

🛡️

Mniej podatny na błędy

Koniec z przypadkową zamianą kolejności min/max.

🎯

Wszystkie typy numeryczne

Działa z int, long, float i double.

Stare podejście
Zagnieżdżone min/max
Nowoczesne podejście
Math.clamp()
Od JDK
21
Poziom trudności
Początkujący
Math.clamp()
Dostępne

Szeroko dostępne od JDK 21 LTS (wrzesień 2023)

Math.clamp(value, min, max) ogranicza wartość do zakresu [min, max]. Czytelniejsze niż zagnieżdżone Math.min/Math.max i dostępne dla int, long, float i double.