74 commons-lang3 中 BooleanUtils.isFalse 等价于 非(BooleanUtils.isTrue) 吗

Posted 蓝风9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了74 commons-lang3 中 BooleanUtils.isFalse 等价于 非(BooleanUtils.isTrue) 吗相关的知识,希望对你有一定的参考价值。

前言

呵呵 一个没看代码之前你怎么都想不到的 低级错误 

是关于 commons-lang3 中 BooleanUtils.isFalse 是否等价于 !BooleanUtils.isTrue 

按照我们对于 boolean 的理解, 要么是 true, 要么是 false 

但是这里的是 Boolean, 呵呵 所以 这里有第三种情况 

这里特此记录一下, 只是因为 这个问题 让我差不多是调试了 1个小时, 呵呵 01月21日

业务场景

业务表里面有一个 isSource, 默认为 false, 在一定的情况下 需要更新为 true, 只会存在 false -> true 的转换  

我最开始的代码 大致如下 

if (BooleanUtils.isFalse(entity.isSource())) 
	entity.isSource(true);
	entityRepository.update(entity);

哪里知道 这里最近新增的一种场景里面出现了一点问题 导致 entity.isSource 为 null 

导致了 业务的错误, 呵呵, 然后调整如下  

// 或者使用 isNotTrue 
if (!BooleanUtils.isTrue(entity.isSource())) 
	entity.isSource(true);
	entityRepository.update(entity);

BooleanUtils.isTrue/isNotTrue/isFalse/isNotFalse 

以上是关于74 commons-lang3 中 BooleanUtils.isFalse 等价于 非(BooleanUtils.isTrue) 吗的主要内容,如果未能解决你的问题,请参考以下文章

StringUtils在commons-lang3和commons-lang中的区别

SpringBoot--实战开发--commons-lang3(三十五)

关于Apache Commons-Lang3的使用

commons-lang3

commons-lang 介绍

commons字符串工具类——commons-lang3