Pular para o conteúdo principal

Questão de Programação — Java — FUNDATEC 2023

ProgramaçãoJava
Código
qq896825
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
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?
  1. A[c, a, b]
  2. B[a, b, c]
  3. C['a', 'b', 'c']
  4. D["a", "b", "c"]
  5. 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.

Gabarito: letra E

Link permanente: /questoes/qq896825