两个bigdecimal类型怎么互相赋值
时间: 2023-08-10 07:15:05 浏览: 184
如果你想要将一个 BigDecimal 类型的变量的值赋给另一个 BigDecimal 类型的变量,可以使用 BigDecimal 的 `equals()` 方法或者 `compareTo()` 方法。
例如,假设有两个 BigDecimal 类型的变量 `num1` 和 `num2`,你想要将 `num1` 的值赋给 `num2`,可以使用以下代码:
```
BigDecimal num1 = new BigDecimal("123.456");
BigDecimal num2 = new BigDecimal("0");
num2 = num1; // 这种方式是错误的,不能直接用等号赋值
// 正确的方式
num2 = num1; // 方法一:使用 equals() 方法
num2 = num1.compareTo(num2) == 0 ? num1 : num2; // 方法二:使用 compareTo() 方法
```
在方法一中,我们使用 `equals()` 方法比较 `num1` 和 `num2` 是否相等,如果相等,则说明它们的值相等,可以直接将 `num1` 的值赋给 `num2`。在方法二中,我们使用 `compareTo()` 方法比较 `num1` 和 `num2` 的大小关系,如果它们的值相等,则说明它们相等,可以直接将 `num1` 的值赋给 `num2`。
需要注意的是,在 Java 中,BigDecimal 类型是一个不可变类型,因此不能直接使用等号将一个 BigDecimal 类型的变量赋值给另一个 BigDecimal 类型的变量。
阅读全文