Sobre os tipos genéricos (generics) em Java, analise as afir...

Próximas questões
Com base no mesmo assunto
Q762252 Programação
Sobre os tipos genéricos (generics) em Java, analise as afirmações abaixo. 1) Tipos genéricos permitem abstrair sobre tipos. Os exemplos mais comuns são os tipos coleções. 2) Métodos genéricos são métodos que introduzem os seus próprios parâmetros de tipo. Isso é semelhante ao declarar um tipo genérico, mas o escopo do parâmetro de tipo é limitado ao método em que é declarado. 3) Métodos genéricos estáticos são permitidos, bem como construtores de classe genéricos. Porém, métodos genéricos não estáticos não são permitidos. 4) Entre as vantagens dos tipos genéricos, temos a simplicidade e a robustez. Por um lado, não é necessário type casting para extrair os objetos das coleções. Por outro, o compilador não permite colocar na coleção elementos incompatíveis com os tipos declarados. 5) Os parâmetros de tipo de um tipo genérico podem ser ou não limitados. O limite de um parâmetro de tipo restringe os tipos que podem ser usados como argumento. O parâmetro de tipo limitado dá acesso aos métodos do “tipo limite”. Estão corretas, apenas: 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a C - 1, 2, 4, 5.

Para resolver essa questão sobre tipos genéricos (generics) em Java, é necessário entender vários conceitos relacionados a essa funcionalidade da linguagem. Vamos explicar cada uma das afirmações consideradas corretas no gabarito:

Afirmação 1: É verdade que tipos genéricos permitem abstrair sobre tipos. Eles são usados para criar classes, interfaces e métodos que têm a capacidade de operar em qualquer tipo de dados. Uma aplicação comum é em coleções, onde se pode criar uma única estrutura de dados, como um ArrayList, que pode armazenar objetos de qualquer tipo.

Afirmação 2: Os métodos genéricos realmente introduzem seus próprios parâmetros de tipo, permitindo que o método seja invocado com argumentos de diferentes tipos, garantindo o tipo seguro em tempo de compilação. O escopo do parâmetro de tipo realmente é limitado ao método onde ele é declarado.

Afirmação 3: Esta afirmação é falsa, e por isso não está incluída na alternativa correta. Em Java, métodos genéricos não estáticos são permitidos. Os métodos estáticos podem ter parâmetros de tipo e os construtores de classe genéricos também são permitidos.

Afirmação 4: Os tipos genéricos realmente trazem vantagens como simplicidade e robustez. Ao usar genéricos, você evita a necessidade de type casting, pois sabe que os tipos dos objetos são verificados em tempo de compilação, reduzindo a possibilidade de ClassCastException em tempo de execução. O compilador garante que apenas os tipos compatíveis sejam adicionados a uma coleção genérica, por exemplo.

Afirmação 5: Os parâmetros de tipo em genéricos podem ser limitados ou não limitados. Um parâmetro de tipo limitado usa a palavra-chave extends para restringir os tipos que podem ser usados como argumentos. Isso permite o acesso aos métodos do tipo limite, ou seja, o tipo de classe ou interface que o tipo genérico deve estender ou implementar, respectivamente.

Espero que estas explicações tenham te ajudado a entender melhor o funcionamento dos tipos genéricos em Java e a razão pela qual a alternativa C é 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

c-

ALém de nao ser necessario casting, generics tem as seguintes caracteristicas:

   A type variable is an unqualified identifier. Type variables are introduced by generic class declarations, generic interface declarations, generic method declarations, and by generic constructor declarations.

   A class is generic if it declares one or more type variables. These type variables are known as the type parameters of the class. It defines one or more type variables that act as parameters. A generic class declaration defines a set of parameterized types, one for each possible invocation of the type parameter section. All of these parameterized types share the same class at runtime.

   An interface is generic if it declares one or more type variables. These type variables are known as the type parameters of the interface. It defines one or more type variables that act as parameters. A generic interface declaration defines a set of types, one for each possible invocation of the type parameter section. All parameterized types share the same interface at runtime.

   A method is generic if it declares one or more type variables. These type variables are known as the formal type parameters of the method. The form of the formal type parameter list is identical to a type parameter list of a class or interface.

   A constructor can be declared as generic, independently of whether the class that the constructor is declared in is itself generic. A constructor is generic if it declares one or more type variables. These type variables are known as the formal type parameters of the constructor. The form of the formal type parameter list is identical to a type parameter list of a generic class or interface.

https://en.wikipedia.org/wiki/Generics_in_Java

Clique para visualizar este comentário

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