Tenho 3 variáveis do tipo Integer: idade, idadeMinima, idadeMaxima.
Preciso verificar se a idade está entre as idadeMinima e idadeMaxima informadas. Caso:
- Caso
idadeMinima == null
, preciso validar apenas a idadeMaxima da idade - Caso
idadeMaxima == null
, preciso validar apenas a idadeMinima da idade - Caso as duas
!= null
, devo validar entre as duas.
Até o momento fiz dessa forma:
if (idadeMinima != null && idadeMaxima != null) {
if (idade.compareTo(idadeMinima) < 0 || idade.compareTo(idadeMaxima) > 0) {
System.out.println("O cliente deve ter entre "+ idadeMinima + " a " + idadeMaxima + " anos!");
}
} else if (idadeMinima != null) {
if (idade.compareTo(idadeMinima) < 0) {
System.out.println("O cliente precisa ter mais do que " + idadeMinima + " anos!");
}
} else if (idadeMaxima != null) {
if (idade.compareTo(idadeMaxima) > 0) {
System.out.println("O cliente não pode possuir mais do que " + idadeMaxima + " anos!");
}
}
Gostaria de saber se existe alguma forma mais “sofisticada” e/ou performática de fazer estas verificações, talvez diminuir linhas de código.
Obrigado.