Questão de Programação — Java — Quadrix 2025
- Código
- qg595085
- Banca
- Quadrix
- Órgão
- CFO
- Ano
- 2025
- Nível
- Médio
- Cargo
- Técnico em Tecnologia da Informação
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: E — ERRADO. Em Java, os arrays são estruturas de dados de tamanho fixo, definido no momento da criação, e esse tamanho não pode ser alterado em tempo de execução. A afirmação do item está incorreta ao atribuir aos arrays a característica de "dinâmicos" com tamanho redimensionável, o que é uma propriedade de outras estruturas, como ArrayList.
Para entender por que o item está errado, é preciso compreender o que é um array em Java e como ele se diferencia de outras estruturas de dados. Um array é um objeto que armazena um número fixo de valores de um único tipo. Quando você cria um array, precisa especificar seu tamanho, e esse tamanho não pode ser alterado depois. Por exemplo, int[] numeros = new int[5]; cria um array que pode armazenar exatamente 5 inteiros. Se você tentar acessar a posição 6, ocorrerá uma exceção ArrayIndexOutOfBoundsException. Essa característica de tamanho fixo é uma das principais diferenças entre arrays e outras estruturas de dados dinâmicas.
A confusão entre arrays e estruturas dinâmicas é comum. Em Java, quando você precisa de uma coleção que possa crescer ou diminuir de tamanho, você utiliza classes como ArrayList, LinkedList ou HashMap. Essas classes são implementadas internamente com arrays, mas gerenciam o redimensionamento automaticamente. Por exemplo, um ArrayList internamente usa um array, mas quando ele fica cheio, cria um novo array maior e copia os elementos. Esse processo é transparente para o programador, que vê a lista como dinâmica. Já o array puro, criado com a sintaxe new Tipo[tamanho], não tem essa capacidade.
A banca explora exatamente essa confusão: o candidato que sabe que Java tem estruturas dinâmicas pode ser levado a acreditar que os arrays também são dinâmicos. No entanto, a linguagem Java oferece tanto arrays (tamanho fixo) quanto coleções (tamanho dinâmico), e é essencial saber diferenciá-los. A pegadinha está em atribuir a característica de "dinâmico" a um tipo de dado que, por definição, é estático em relação ao tamanho.
Guarde a distinção central: array em Java = tamanho fixo; coleções (ArrayList, etc.) = tamanho dinâmico. É exatamente nessa fronteira que o item se apoia para estar errado.
A afirmação está errada porque os arrays em Java são estruturas de tamanho fixo, definido na criação e imutável em tempo de execução. O item atribui a eles a característica de "dinâmicos" com tamanho alterável, o que é falso. Para ter tamanho dinâmico, o programador deve usar classes como ArrayList, que gerenciam o redimensionamento internamente. A declaração int[] numeros = new int[5]; cria um array com tamanho 5, e não há como alterá-lo depois. Qualquer tentativa de acessar um índice fora do intervalo resulta em ArrayIndexOutOfBoundsException. Portanto, a alternativa correta é a E — ERRADO.
Gabarito: letra E
Link permanente: /questoes/qg595085