为了看看我是否可以清理一些数学代码,主要是矩阵方面的东西,我尝试使用一些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;
}
让我头疼的是retVali =0这一行。这一行的目标是用T表示0来初始化数组。我尝试过用它做各种事情:(T在类中定义为T扩展Number)
retVal[i][j] = (T)0;
retVal[i][j] = new T(0);
唯一有效的方法是
retVal[i][j] = (T)new Object(0);
这不是我想要的。
这个是可能的吗?有没有一种更简单的方法来表示任何类型的数字(包括潜在的BigDecimal)的NxM矩阵,或者我卡住了?
https://stackoverflow.com/questions/877897
复制相似问题