尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

BigDecimal 的 compareTo 方法用于比较两个 BigDecimal 对象的大小

BigDecimal 的 compareTo 方法用于比较两个 BigDecimal 对象的大小 在 Java 中BigDecimal的compareTo方法用于比较两个BigDecimal对象的大小。你需要先理解它的返回值规则才能准确理解你的两个表达式。1. 核心规则a.compareTo(b)的返回值规则如下-1表示a小于b。0表示a等于b。1表示a大于b。记住这个规则后分析你的两个表达式就很清晰了。2. 表达式拆解你使用的是BigDecimal(0).compareTo(某个值)我们逐一来分析表达式一BigDecimal(0).compareTo(weighBillManagePageResp.getGrossWeight()) 1含义检查0是否大于grossWeight。等价条件grossWeight 0即毛重小于 0。业务意义判断毛重是否为一个负数通常数据异常。表达式二BigDecimal(0).compareTo(weighBillManagePageResp.getGrossWeight()) 0含义检查0是否等于grossWeight。等价条件grossWeight 0即毛重等于 0。业务意义判断毛重是否为零。3. 完整对照表为了让你更清晰这里将你写的两种形式与更直观的比较方式做了对照你的表达式实际含义更直观的写法BigDecimal(0).compareTo(grossWeight) 1判断grossWeight 0grossWeight.compareTo(BigDecimal.ZERO) 0BigDecimal(0).compareTo(grossWeight) 0判断grossWeight 0grossWeight.compareTo(BigDecimal.ZERO) 0或grossWeight.signum() 04. 更好的编码实践直接使用BigDecimal(0)每次都会创建一个新对象性能略差。更推荐使用BigDecimal.ZERO这个静态常量java// 判断毛重小于 0 if (weighBillManagePageResp.getGrossWeight().compareTo(BigDecimal.ZERO) 0) { // 处理异常数据... } // 判断毛重等于 0 if (weighBillManagePageResp.getGrossWeight().compareTo(BigDecimal.ZERO) 0) { // 处理零值... }
返回列表