Considere os seguintes comandos da linguagem Groovy para cri...

Próximas questões
Com base no mesmo assunto
Q839361 Programação

Considere os seguintes comandos da linguagem Groovy para criar um array chamado tribunais:


I. String[] tribunais = ["TRT", "TRE", "TCU"]

II. def tribunais = ["TRT", "TRE", "TCU"] as String[]

III. def tribunais = (String[]) ["TRT", "TRE", "TCU"]

IV. def tribunais = ["TRT", "TRE", "TCU"] .toString(new Array( ))


Estão corretas as formas utilizadas APENAS em

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: A - I, II e III.

Esta questão explora o conhecimento da linguagem de programação Groovy, que é uma linguagem orientada a objetos para a plataforma Java. Groovy é conhecida por sua sintaxe sucinta e capacidade de integração com código Java existente. Especificamente, o foco aqui são as diferentes formas de declarar e inicializar arrays de strings em Groovy.

Em Groovy, você pode declarar arrays de maneiras flexíveis, e o enunciado apresenta quatro declarações potenciais. Vamos analisar cada uma delas:

I. String[] tribunais = ["TRT", "TRE", "TCU"]
Esta sintaxe é válida e é uma forma clássica de declarar um array em Groovy, semelhante à declaração em Java. Aqui, estamos especificando o tipo de dados (String[]) e atribuindo um array literal diretamente.

II. def tribunais = ["TRT", "TRE", "TCU"] as String[]
Neste caso, a palavra-chave 'def' é usada para declarar uma variável de tipo dinâmico em Groovy. O uso de 'as String[]' é um cast que força o tipo do array literal para ser um array de strings. Essa é uma maneira comum em Groovy para definir o tipo de uma variável sem declará-lo explicitamente.

III. def tribunais = (String[]) ["TRT", "TRE", "TCU"]
Similar à segunda forma, mas utilizando uma sintaxe de cast diferente. Aqui, o cast é feito usando parênteses antes do array literal. Isso também é válido e faz com que o Groovy trate o array literal como um array de strings.

Por outro lado, a última forma apresentada possui um erro:

IV. def tribunais = ["TRT", "TRE", "TCU"].toString(new Array())
Essa declaração tenta chamar o método 'toString' em um array literal, passando um novo array como argumento, o que é inválido. Em Groovy, o método 'toString()' é usado para converter objetos em representações de string, e não é usado dessa maneira para criar arrays.

Portanto, apenas as formas I, II e III são corretas e estão de acordo com a sintaxe e funcionalidades da linguagem Groovy para a criação de arrays de strings. Isso justifica a alternativa A ser a correta.

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

I. String[] tribunais = ["TRT", "TRE", "TCU"]

II. def tribunais = ["TRT", "TRE", "TCU"] as String[]

III. def tribunais = (String[]) ["TRT", "TRE", "TCU"]

http://grails.asia/groovy-array-manipulation-examples

A opção IV está errada. O correto seria: def tribunais = ["TRT", "TRE", "TCU"].toArray(new String[0])

Força Guerreiro!!!!!!

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo