En un intento de ver si puedo limpiar algunos de mis códigos matemáticos, en su mayoría elementos de matriz, estoy tratando de usar algunos Java Generics. Tengo el siguiente método:Genéricos y números de Java
private <T> T[][] zeroMatrix(int row, int col) {
T[][] retVal = (T[][])new Object[row][col];
for(int i = row; i < row; i++) {
for(int j = col; j < col; j++) {
retVal[i][j] = 0;
}
}
return retVal;
}
La línea RetVal [i] [j] = 0 me está causando el uno dolores de cabeza. El objetivo de la línea es para inicializar la matriz con la representación de T 0. He intentado hacer todo tipo de cosas con él: (T se define en la clase como T se extiende Número)
retVal[i][j] = (T)0;
retVal[i][j] = new T(0);
la Lo único que funciona es
retVal[i][j] = (T)new Object(0);
Que no es lo que quiero.
¿Esto es posible? ¿Existe alguna manera más fácil de representar una matriz NxM de cualquier tipo de Número (incluido potencialmente BigDecimal), o estoy atascado?
No tengo mucho que agregar a esta discusión, pero gracias por proporcionarme una pregunta que provocó tan buenas respuestas. No estoy contento con la implementación de genéricos de Java, pero ahora los entiendo mejor. –