我正在创建一个通用类来操作矩阵。但问题是:当我实现加法运算时,我得到一个“二元运算符'+'的操作数类型错误”
它说:
第一种类型:对象第二种类型:T 其中 T 是类型变量:T 扩展在类 Matrix 中声明的对象
有没有办法让它做加法?
这是我的代码:
public class Matrix<T> {
private T tab[][];
public Matrix( T tab[][])
{
this.tab = (T[][])new Object[tab.length][tab[0].length];
for(int i = 0; i < tab.length; i++){
System.arraycopy(tab[i], 0, this.tab[i], 0, tab.length);
}
}
public Matrix(int row, int column)
{
this.tab = (T[][])new Object[row][column];
}
//other constructors...
public Matrix addition(Matrix otherMatrix)
{
Matrix tmp = new Matrix(otherMatrix.getRowLen(), otherMatrix.getColLen());
for(int i = 0; i < tab.length; i++){
for(int j = 0; j < tab[0].length; j++){
//the line with the error is below
tmp.setElement(i, j, otherMatrix.getElement(i, j) + tab[i][j]);
}
}
return tmp;
}
public int getRowLen(){
return tab.length;
}
public int getColLen(){
return tab[0].length;
}
public void setElement(int i, int j, T value){
tab[i][j] = value;
}
public void setElement( T tab[][])
{
this.tab = (T[][])new Object[tab.length][tab[0].length];
for(int i = 0; i < tab.length; i++){
System.arraycopy(tab[i], 0, this.tab[i], 0, tab.length);
}
}
public T getElement(int i, int j){
return tab[i][j];
}
}
提前致谢 !