Considere os seguintes comandos da linguagem Groovy para cri...
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
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