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!