ANC - Analista em Computação - Ênfase em Programação de Sistemas na Tecnologia Java
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?
A[c, a, b]
B[a, b, c]
C['a', 'b', 'c']
D["a", "b", "c"]
EMensagem de erro de compilação.
Revelar gabarito e comentário▾
GabaritoE — Mensagem de erro de compilação.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Java: método sort() sem argumentos
Gabarito: letra E. O código não compila porque a interface List não possui um método sort() sem argumentos — existe apenas sort(Comparator<? super E>). O método Collections.sort(List) é estático e deve ser chamado com a classe Collections. Portanto, a chamada str.sort() gera um erro de compilação.
A banca testa o conhecimento sobre os métodos disponíveis na interface List. Muitos candidatos podem confundir com o método default sort(Comparator) ou com o método estático Collections.sort(List).
Alternativa A — ❌ Incorreta
Afirma que a saída seria [c, a, b]. Isso ocorreria se o método sort() fosse ignorado ou não existisse, mas na verdade o código não compila.
Alternativa B — ❌ Incorreta
Afirma que a saída seria [a, b, c] (ordenado). Isso seria o resultado correto se o método sort() existisse, mas ele não existe como sem argumentos.
Alternativa C — ❌ Incorreta
Apresenta a saída com aspas simples, formato incorreto para toString() de lista em Java.
Alternativa D — ❌ Incorreta
Apresenta a saída com aspas duplas, também formato incorreto.
Alternativa E — ✅ Correta ⟵ GABARITO
O código possui erro de compilação. A classe List não define sort() sem parâmetros. A tentativa de chamada resulta em erro de compilação.
NÃO CAIA NESSA!
A banca explora a confusão entre List.sort(Comparator) e Collections.sort(List). O candidato pode pensar que sort() é um método default herdado, mas não existe.