métodos genéricos

Los métodos, individualmente, también pueden ser genéricos. Se dice que un método es genérico cuando sus argumentos y/o su resultado se refieren a un tipo formal que se deja como parámetro.

Los siguientes ejemplos muestran un uso típico:

métodos genéricos

  <T> T primero(T[] datos) {

    for (T t: datos)

      if (t != null)

        return t;

    return null;

  }

  static <T> List<T> pareja(T t) {

    List<T> resultado =

        new ArrayList<T>();

    resultado.add(t);

    resultado.add(t);

    return resultado;

  }

Dado un array de datos de tipo T, devuelve el primero que no es null.

Dado un dato de tipo T, crea una lista con dos elementos, que son dicho dato.

String[] datos =

    { null, "uno", "dos" };

System.out.println(primero(datos));

List<String> bora_bora =

    pareja("bora");

 

Para usar un método genérico basta llamarlo con parámetros que casen con su definición. El propio compilador infiere el tipo (concreto) que debe asignar a T para que funcione correctamente.

Al igual que las clases genéricas, los métodos genéricos funcionan bastante deficientemente cuando hay que crear arrays.

Temas relacionados

83. Genéricos [generics] (concepto)