En PC Resumen os vamos a explicar que motiva usar los métodos genéricos en Java. A menudo se utilizan métodos sobrecargados para realizar operaciones similares en diferentes tipos de datos. Cuando el compilador encuentra una llamada a un método, siempre trata de localizar la declaración de un método que tenga el mismo nombre y parámetros que coincidan con los tipos de los argumentos en la llamada al método.
El problema es que si queremos hacer tres métodos con el mismo nombre para, por ejemplo, imprimir un array de enteros, uno de decimales y uno de caracteres debemos repetir prácticamente el mismo código tres veces. Si podemos reemplazar los tipos de elementos con un nombre genérico (por convención será E para representar el tipo "elemento"), entonces podemos declarar un método imprimirArray que pueda imprimir los elementos de un array que tenga objetos con un código similar a este:
public static void imprimirArray (E[] arrayEntrada) {
for (E elemento: arrayEntrada) {
System.out.printf("%s", elemento);
}
System.out.println();
}
Aunque no lo hemos visto, el método printf funciona prácticamente igual que en C. En Java podemos especificar el formato %s para imprimir la representación de cadena de cualquier objeto ya que se hace un llamamiento implícito al método toString del objeto.