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中的区别