Java中如何创建值为null的BigDecimal对象?Coin类构造场景
处理Coin类BigDecimal空值的方案
- 直接传递null构造实例:如果你的
Coin(BigDecimal)构造方法没有对入参做非空校验(比如未使用Objects.requireNonNull),直接调用new Coin(null)即可让内部的BigDecimal字段为null,匹配你代码中硬币值可为null的逻辑。 - 构造方法有非空校验时的调整:如果构造方法强制要求BigDecimal入参非null,你需要修改构造方法移除校验,或者新增一个无参构造方法来初始化空值:
public class Coin { private BigDecimal value; // 调整后的构造方法,允许null入参 public Coin(BigDecimal value) { this.value = value; } // 新增无参构造,直接将value设为null public Coin() { this.value = null; } } - 进阶空值处理(可选):如果希望更安全地处理空值场景,可以考虑用
Optional<BigDecimal>封装硬币值,但这需要同步调整现有代码的逻辑,适合对空值安全性有更高要求的场景。
内容的提问来源于stack exchange,提问作者user16342430
相关产品推荐
相关产品推荐

