O que é genérico em Java? - Um guia para iniciantes



Este artigo sobre Genéricos em Java dará uma breve visão sobre o que são genéricos Java e seus vários tipos, juntamente com exemplos.

Considere um exemplo em que você tem que fazer uma lista das coisas vivas de uma localidade. Não importa se é um ser humano, um animal ou uma planta. Tudo o que importa é uma coisa viva. Nesse caso, você agruparia todos eles como “Coisas Vivas” e não os categorizaria. Da mesma forma, quando você tem que armazenar alguns dados, o que importa para você é o conteúdo e não o tipo de dados, e é aí que você usa Genéricos. Genéricos em é um recurso de linguagem que permite o uso de tipos e métodos genéricos.

Abaixo está a lista de tópicos que irei cobrir neste artigo:





O que é genérico em Java?

Genéricos é um termo que denota um conjunto de recursos de linguagem relacionados à definição e uso de tipos e métodos genéricos. Os métodos genéricos Java diferem dos métodos e tipos de dados regulares. Antes dos genéricos, usávamos o para armazenar qualquer tipo de objeto, ou seja, não genérico . Agora, os genéricos forçam o programador para armazenar um tipo específico de objetos.

Agora que você sabe o que é Genérico em Java, vamos prosseguir e entender por que você precisa de Genéricos Java.



Por que Java Generics?

Se você olhar para o classes, então você observará que a maioria das classes recebe parâmetro / argumento do tipo Object. Basicamente, nessa forma, eles podem tomar qualquer tipo de Java como argumento e retornar o mesmo objeto ou argumento. Eles são essencialmente heterogêneo ou seja, não de um tipo semelhante.

FrameworkHierarchy - Genéricos em Java - Edureka

Às vezes, no aplicativo Java, o tipo de dados da entrada não é fixo. A entrada pode ser um inteiro , para flutuador ou . A fim de atribuir a entrada ao do tipo de dados correto, verificações prévias tiveram que ser realizadas. Na abordagem tradicional, após obter a entrada, o tipo de dados da entrada era verificado e, em seguida, atribuído à variável do tipo de dados correto. Quando essa lógica foi usada, o comprimento do código e o tempo de execução foram aumentados. Para evitar isso, Genéricos foram introduzidos . Quando você usa Genéricos, os parâmetros no código são verificados no tempo de compilação automaticamente e define o tipo de dados por padrão. Portanto, é aqui que você precisa do conceito de genéricos em Java.



Agora que você ganhou alguns insights sobre genéricos, vamos seguir em frente e ver as várias maneiras de comoOs genéricos podem ser aplicados ao código-fonte.

Tipos de Genéricos Java

Existem 4 maneiras diferentes de aplicar os genéricos em Java e são as seguintes:

  1. Classe de tipo genérico
  2. Interface Genérica
  3. Método Genérico
  4. Construtor Genérico

Agora vamos entender como os genéricos podem ser aplicados à classe de tipo em profundidade.

1. Classe de tipo genérico

Uma classe é considerada genérica se declara uma ou mais variáveis ​​de tipo. Esses tipos de variáveis ​​são conhecidos como os parâmetros de tipo do . Vamos entender isso com a ajuda de um exemplo. No exemplo a seguir, criarei uma classe com uma propriedade x e o tipo da propriedade é um objeto.

lado do mapa juntar-se à colmeia
classe Genericclass {objeto privado x conjunto void público (objeto x) {this.x = x} objeto público get () {retornar x}}

Aqui, depois de inicializar a classe com um certo tipo, a classe deve ser usada apenas com aquele tipo específico. Por exemplo. Se você quiser que uma instância da classe mantenha o valor x do tipo ' Corda ‘, Então o programador deve definir e obter o único tipo. Como declarei o tipo de propriedade para Object, não há como aplicar essa restrição. Um programador pode definir qualquer objeto e pode esperar qualquer tipo de valor de retorno de obter método uma vez que todos os tipos de Java são subtipos de classe.

Para impor esse tipo de restrição, podemos usar os genéricos conforme abaixo:

class Genericclass {// T significa 'Tipo' private T x public void set (T x) {this.x = x} public T get () {return x}}

Agora você pode ter certeza de que a classe não será mal utilizada com tipos errados. Um exemplo simples de' Classe genérica ”Se parece com o mostrado abaixo:

Genericclass instance = new Genericclass () instance.set ('Edureka') instance.set (10) // Isso gerará um erro de tempo de compilação

Então é assim que funciona. esteanalogia é verdadeira para a interface também. Vejamos rapidamente um exemplo para entender como as informações de tipo genérico podem ser usadas em interfaces em java.

2. Interface Genérica

A refere-se aos tipos de dados abstratos. Eles permitem para ser manipulado independentemente dos detalhes de sua representação. Além disso, eles formam uma hierarquia em línguas. Vamos entender como o tipo genérico pode ser aplicado a interfaces em Java.

// Interface de definição de interface genérica GenericInterface {T2 PerformExecution (T1 x) T1 ReverseExecution (T2 x)} // Uma classe que implementa a classe de interface genérica Genericclass implementa GenericInterface {public Integer PerformExecution (String x) {// código de execução} public String ReverseExecution ( Inteiro x) {// código de execução}}

Espero que você tenha entendido como os genéricos podem ser aplicados a classes de tipos e interfaces. Agora vamos nos aprofundar neste artigo e entender como ele é útil para métodos e construtores.

3. Métodos Genéricos

Os métodos genéricos são muito semelhantes às classes genéricas. Eles diferem uns dos outros em apenas um aspecto que o as informações de escopo ou tipo estão apenas dentro do método. Os métodos genéricos apresentam seus próprios parâmetros de tipo.

Vamos entender isso com um exemplo. Abaixo está um exemplo de um método genérico que pode ser usado para localizar todas as ocorrências de parâmetros de tipo em uma lista de variáveis.

pl tutorial sql para iniciantes com exemplos
public static int countAllOccurrences (T [] list, T element) {int count = 0 if (element == null) {for (T listElement: list) if (listElement == null) count ++} else {for (T listElement: list ) if (element.equals (listElement)) contagem ++} retornar contagem}

Se você passar uma lista de String para pesquisar neste método, funcionará bem. Porém, se você tentar encontrar um número na lista de String, ocorrerá um erro de tempo de compilação.

Essa analogia também é semelhante ao construtor. Vamos dar um exemplo para o construtor genérico e entender como ele funciona.

4. Construtor Genérico

Para o construtor é um bloco de código que inicializa o objeto recém-criado. UMA construtor assemelha-se a um método de instância em J ava mas não é um método, pois não tem um tipo de retorno. O construtor tem o mesmo nome da classe e se parece com este em J ava código. Agora vamos dar um exemplo e entender como funciona.

class Dimension {private T length private T width private T height // Construtor genérico public Dimension (T length, T width, T height) {super () this.length = length this.width = largura this.height = height}}

No exemplo acima, o construtor da classe Dimension tem as informações de tipo. Portanto, você pode ter uma instância de dimensão com todos os atributos de um único tipo apenas. Portanto, é assim que você pode usar construtores de tipo genérico. Espero que você tenha entendido os tipos de genéricos em Java.

Agora, vamos avançar e examinar as vantagens dos Genéricos em Java.

Vantagens dos genéricos em Java

1. Reutilização de código

Você pode compor uma estratégia, uma aula ou um uma vez e use para qualquer tipo ou forma que você precisar.

2. Tipos individuais de fundição não é necessária

Basicamente, você recuperou informações de todas as vezes, você precisa fazer um typecast. A previsão de cada tarefa de recuperação é uma grande enxaqueca. Para erradicar essa abordagem, os genéricos foram introduzidos.

3. Implementando um algoritmo não genérico

Ele pode calcular os algoritmos que funcionam em vários tipos de itens com segurança de tipo.

Isso era tudo sobre as vantagens do Java Generics. Com isso, chegamos ao final deste artigo sobre Genéricos em Java. Espero que você tenha achado informativo e tenha ajudado a entender os Genéricos Java.

Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. Estamos aqui para ajudá-lo em todas as etapas de sua jornada, para nos tornarmos além dessas perguntas da entrevista java, nós criamos um currículo que é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java. O curso foi elaborado para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com várias estruturas Java como Hibernate e Spring.

Tem alguma questão para nós? Mencione isso na seção de comentários deste “Genéricos em Java ”Artigo e entraremos em contato com você o mais rápido possível.