使用泛型类执行基本的算术运算
问题内容:
我想对像,,…(不包括和)这样的包装器类型Integer
,每个操作仅使用一种通用方法执行基本的算术运算,例如加法,减法,乘法和除法。Float``Double``BigDecimal``BigInteger
我尝试使用泛型类执行以下操作(作为补充)。
public final class GenericClass<E extends Number> {
public E add(E x, E y) {
return x + y; // Compile-time error
}
}
它发出一个编译时错误,
运算符+不能应用于E,E
有没有办法使用这种通用版本来实现这种操作?
问题答案:
不,没有办法做到这一点,否则它将内置到Java中。类型系统不够强大,无法表达这种东西。