Analise o seguinte trecho de código Java:import java.util.Ar...
Analise o seguinte trecho de código Java:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ArrayLista {
public static void main(String[] args) {
List<String> str = Arrays.asList("c", "a", "b");
str.sort();
System.out.println(str.toString());
}
}
O que será escrito na saída padrão após a execução?
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E
Fundamento decisivo: O critério eliminatório é a inexistência de código Java válido no trecho apresentado: List<String><string> str = Arrays.asList("c", "a", "b"); contém marcação espúria e str.sort(); não corresponde à chamada válida do método. Sem compilação, não há execução nem saída padrão, o que leva à alternativa E.
List<String><string> str = Arrays.asList("c", "a", "b");, pois <string> não integra uma declaração Java válida naquele ponto. Além disso, str.sort(); reforça a inviabilidade de compilação, já que List.sort exige um Comparator. Como a unidade não compila, System.out.println não é executado e não há saída impressa.- Antes de calcular qualquer saída, valide se o código apresentado é sintaticamente e semanticamente compilável.
- Se houver tokens estranhos no trecho, como marcação inserida no meio da declaração, trate isso como elemento decisivo enquanto o enunciado exigir análise do código literal.
- Em Java, só faz sentido discutir a saída de
System.out.printlndepois de confirmar que as chamadas de método correspondem a assinaturas válidas.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Aslist retorna uma lista imutável
O método sort precisa que seja fornecido um Comparator ou NULL como parâmetro. Quando utilizado NULL, o ordenamento se dará de acordo com a ordem natural dos elementos da lista.
Fonte: https://docs.oracle.com/javase/8/docs/api/java/util/List.html
O método da interface exige um argumento do tipo . Chamar sem passar nenhum argumento causa erro de compilação.
str.sort(null); // null usa a ordem natural (alfabética)
// ou
str.sort(Comparator.naturalOrder());
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo