Avatar ·

Como adicionar zeros à esquerda a um número inteiro em Java?

Olá a todos! Sou um desenvolvedor Java iniciante e me deparei com a seguinte tarefa: preciso exibir um número com zeros à esquerda para que ele sempre ocupe um número específico de caracteres. Por exemplo, o número 5 deve se tornar "0005", e 123 deve se tornar "0123" (para que o comprimento da string seja de 4 caracteres).

Tentei usar concatenação de strings e loops, mas isso parece horrível e inconveniente. Aqui está meu código atual:

int number = 5;
String result = "";
if (number < 10) {
    result = "000" + number;
} else if (number < 100) {
    result = "00" + number;
} else if (number < 1000) {
    result = "0" + number;
} else {
    result = String.valueOf(number);
}
System.out.println(result); // Exibe "0005"

Esse código funciona apenas para números até 9999 e parece muito verboso. E se eu precisar de um número diferente de dígitos ou não souber o comprimento máximo antecipadamente? Ouvi falar sobre String.format() e DecimalFormat, mas não entendo como usá-los.