Einen Wert mit einem einzigen klaren Aufruf auf einen Bereich begrenzen.
Code-Vergleich
✕ 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]
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
Selbstdokumentierend
clamp(value, min, max) ist eindeutig.
Weniger fehleranfällig
Kein versehentliches Vertauschen der Reihenfolge von min und max mehr.
Alle numerischen Typen
Funktioniert mit int, long, float und double.
Alter Ansatz
Verschachteltes min/max
Moderner Ansatz
Math.clamp()
Seit JDK
21
Schwierigkeitsgrad
Einsteiger
JDK-Unterstützung
Math.clamp()
Verfügbar
Weitgehend verfügbar seit JDK 21 LTS (September 2023)
Wie es funktioniert
Math.clamp(value, min, max) beschränkt einen Wert auf den Bereich [min, max]. Klarer als verschachteltes Math.min/Math.max und verfügbar für int, long, float und double.
Zugehörige Dokumentation