Date/Time Iniciante

Limite um valor entre extremos com uma única chamada clara.

✕ 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]
Viu um problema com este código? Nos avise.
📖

Autodocumentado

clamp(value, min, max) é inequívoco.

🛡️

Menos propenso a erros

Sem mais inversão acidental da ordem de min/max.

🎯

Todos os tipos numéricos

Funciona com int, long, float e double.

Abordagem Antiga
min/max aninhados
Abordagem Moderna
Math.clamp()
Desde o JDK
21
Dificuldade
Iniciante
Math.clamp()
Disponível

Amplamente disponível desde o JDK 21 LTS (setembro de 2023)

Math.clamp(value, min, max) restringe um valor ao intervalo [min, max]. Mais claro que Math.min/Math.max aninhados e disponível para int, long, float e double.

Compartilhar 𝕏 🦋 in