java泛型如何四则运算
时间: 2024-05-06 11:16:43 浏览: 11
Java 的泛型实际上并不能直接进行四则运算,因为泛型只是一种类型参数化的机制,它并不是一个运算符。
不过,我们可以通过定义一些泛型方法来实现四则运算,例如:
```java
public class Calculator<T extends Number> {
public T add(T a, T b) {
return (T) Double.valueOf(a.doubleValue() + b.doubleValue());
}
public T subtract(T a, T b) {
return (T) Double.valueOf(a.doubleValue() - b.doubleValue());
}
public T multiply(T a, T b) {
return (T) Double.valueOf(a.doubleValue() * b.doubleValue());
}
public T divide(T a, T b) {
return (T) Double.valueOf(a.doubleValue() / b.doubleValue());
}
}
// 使用示例
Calculator<Double> calculator = new Calculator<>();
System.out.println(calculator.add(1.0, 2.0)); // 输出 3.0
System.out.println(calculator.subtract(3.0, 1.0)); // 输出 2.0
System.out.println(calculator.multiply(2.0, 3.0)); // 输出 6.0
System.out.println(calculator.divide(6.0, 3.0)); // 输出 2.0
```
这里我们定义了一个泛型类 `Calculator<T extends Number>`,其中 `T` 是一个继承自 `Number` 类的类型参数。然后我们在类中定义了 `add`、`subtract`、`multiply` 和 `divide` 四个泛型方法,这些方法都接受两个泛型参数,并返回一个泛型类型,实现了基本的四则运算。需要注意的是,在这些方法中我们将 `Number` 类型的参数转换为 `double` 类型来进行运算,最后再将结果转换回泛型类型。
在使用时,我们可以通过创建一个 `Calculator<Double>` 的实例来进行浮点数的四则运算,或者创建一个 `Calculator<Integer>` 的实例来进行整数的四则运算,等等。