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)