小编Sco*_*mke的帖子

Java泛型和数字

试图看看我是否可以清理我的一些数学代码,主要是矩阵的东西,我试图使用一些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;
}
Run Code Online (Sandbox Code Playgroud)

retVal [i] [j] = 0行是引起头痛的行.该行的目标是使用T表示为0初始化数组.我试图用它做各种各样的事情:(T在类中被定义为T extends Number)

retVal[i][j] = (T)0;
retVal[i][j] = new T(0);
Run Code Online (Sandbox Code Playgroud)

唯一有效的是

retVal[i][j] = (T)new Object(0);
Run Code Online (Sandbox Code Playgroud)

这不是我想要的.

这可能吗?有没有更简单的方法来表示任何类型的数字的NxM矩阵(包括可能的BigDecimal),还是我被困?

java generics

18
推荐指数
3
解决办法
6287
查看次数

标签 统计

generics ×1

java ×1