Java Generics - Classes

Uma declaração de classe genérica parece uma declaração de classe não genérica, exceto que o nome da classe é seguido por uma seção de parâmetro de tipo.

A seção de parâmetro de tipo de uma classe genérica pode ter um ou mais parâmetros de tipo separados por vírgulas. Essas classes são conhecidas como classes parametrizadas ou tipos parametrizados porque aceitam um ou mais parâmetros.

Sintaxe

public class Box<T> {
   private T t;
}

Onde

  • Box - Box é uma classe genérica.

  • T- O parâmetro de tipo genérico passado para a classe genérica. Pode levar qualquer objeto.

  • t - Instância do tipo genérico T.

Descrição

OT é um parâmetro de tipo passado para a classe genérica Box e deve ser passado quando um objeto Box é criado.

Exemplo

Crie o seguinte programa java usando qualquer editor de sua escolha.

GenericsTester.java

package com.tutorialspoint;

public class GenericsTester {
   public static void main(String[] args) {
      Box<Integer> integerBox = new Box<Integer>();
      Box<String> stringBox = new Box<String>();

      integerBox.add(new Integer(10));
      stringBox.add(new String("Hello World"));

      System.out.printf("Integer Value :%d\n", integerBox.get());
      System.out.printf("String Value :%s\n", stringBox.get());
   }
}

class Box<T> {
   private T t;

   public void add(T t) {
      this.t = t;
   }

   public T get() {
      return t;
   }   
}

Isso produzirá o seguinte resultado.

Resultado

Integer Value :10
String Value :Hello World