Supongamos que escribe una función estática en Java para ordenar una matriz, al igual que Arrays.sort()
. El problema con Arrays.sort()
es que recibe una matriz de Objeto y arroja un ClassCastException
si sus elementos no implementan Comparable
.Genéricos y clasificación en Java
Así que desea que su función reciba como argumento una matriz de un subtipo de Comparable
. Algo así podría funcionar:
static <T extends Comparable> void sort(T[] array);
El problema con el que la firma es que todavía puede pasar una matriz de comparables con enteros y cadenas, por ejemplo, lo que causaría un RuntimeException
.
Así que, ¿cómo se puede crear una función que va a recibir solamente una matriz cuyos elementos implementar Comparable y tienen todos del mismo tipo (por ejemplo, entero, cadena, etc?)
Otro problema con la firma es que está utilizando un tipo sin procesar en un límite genérico. –