В попытке увидеть, могу ли я очистить некоторые из моих математических кодов, в основном матричные вещи, я пытаюсь использовать некоторые Java Generics. У меня есть следующий метод:
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;
}
Линия retVal [i] [j] = 0 является той, которая вызывает у меня головные боли. Целью строки является инициализация массива с представлением T из 0. Я пытался делать с ним всевозможные вещи: (T определяется в классе как T extends Number)
retVal[i][j] = (T)0;
retVal[i][j] = new T(0);
Единственное, что работает, это
retVal[i][j] = (T)new Object(0);
Это не то, что я хочу.
Возможно ли это? Есть ли более простой способ представления матрицы NxM любого типа Number (включая потенциально BigDecimal), или я застрял?