Olá,
No código abaixo há um if implícito? Como devo interpretá-lo?
maiores = maiores.subList(0, maiores.size() > 3 ? 3 : maiores.size());
Olá,
No código abaixo há um if implícito? Como devo interpretá-lo?
maiores = maiores.subList(0, maiores.size() > 3 ? 3 : maiores.size());
Boa noite, Roger! Como vai?
A estrutura maiores.size() > 3 ? 3 : maiores.size()
vista no código se chama if ternário. Seria o mesmo que fazer:
if (maiores.size() > 3) {
return 3;
} else {
return maiores.size();
}
Ou seja, nesse caso específico do código, o segundo argumento do método subList()
será 3 se maiores.size() > 3
ou maiores.size()
caso contrário. Sendo assim, a expressão que aparece antes do sinal de ?
representa a condição do if
, entre o sinal de ?
e o sinal de :
aparece o resultado caso a expressão condicional seja verdadeira e após o :
é inserido o resultado caso a condicional seja falsa.
Pegou a ideia? Qualquer coisa é só falar!
Grande abraço e bons estudos!