小编典典

java通用加法

java

我正在尝试实现通用稀疏矩阵加法问题中提到的加法

class Matrix<T extends Number>
{
  private T add(T left, T right)
  {
   if (left instanceof Integer)
   {
     return new Integer(((Integer)left).intValue() + ((Integer)right).intValue());
   }
}

found java.lang.Integer Required T我返回新Integer的行出现编译器错误。我不确定我缺少什么,因为T扩展了Number并且Integer是Number的子类。


阅读 313

收藏
2020-11-30

共1个答案

小编典典

编译器不允许您执行此操作,因为T可能是其他一些类,例如Double
您知道这TInteger通过instanceof检查获得的,但是编译器却没有。

2020-11-30