首页 > 解决方案 > BigDecimal 允许空值

问题描述

正在寻找允许 BigDecimal 中的空值的 BigDecimal 库?

出于数学目的,不应将 Null 视为 0。

public abc{
  private BigDecimal amount;
   getter();
   setter();...
}
Class main{
if(tempStr == null) {                   
    abc.setAmt(new BigDecimal(" "));
}else if (tempStr != null && !tempStr.equals(" ")) {
      abc.setAmt(new BigDecimal(tempStr));  
}}

金额应允许空值或空白。金额也应该接受零和其他数字。

我将 amt 设为零而不是 null 或空白

标签: javacollectionsbigdecimal

解决方案


在 Java中, null用于表示未定义的值。在您的示例中,这将如下所示:

if(tempStr == null) {                   
    abc.setAmt(null);
} ...

如果要检查字符串是否不为空,可以查看一些实用程序,例如 Apache Commons StringUtils:

if(StringUtils.isBlank(tempStr)) {                   
    abc.setAmt(null);
} ...

如果您想避免显式的null值,您可能需要考虑Optional<BigDecimal>。但这是一个品味问题。


推荐阅读