Sobre os tipos genéricos (generics) em Java, analise as afir...
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