creación de clases genéricas

El siguiente ejemplo muestra como crear un objeto que es una asociación de dos datos de tipos formales S y T:

class Pareja

public class Pareja<S, T> {

    private S primero;

    private T segundo;

 

    public Pareja(S primero, T segundo) {

        this.primero = primero;

        this.segundo = segundo;

    }

 

    public S getPrimero() { return primero; }

 

    public T getSegundo() { return segundo; }

 

    public void setPrimero(S primero) { this.primero = primero; }

 

    public void setSegundo(T segundo) { this.segundo = segundo; }

 

}        

 

Cuando se crean objetos de un tipo genérico, hay que proporcionar tipos concretos que determinen qué son realmente los tipos formales de la definición.

uso de Pareja<S, T>

        Pareja<String, String> textos =

          new Pareja<String, String>("hola", "adios");

        System.out.println(textos.getPrimero());

        System.out.println(textos.getSegundo());

 

        Pareja<String, Number> tabla =

          new Pareja<String, Number>("pi", 3.1416);

        System.out.println(tabla.getPrimero());

        System.out.println(tabla.getSegundo());

 

Temas relacionados

83. Genéricos [generics] (concepto)