经常能看到以下代码结构:
if(a == null || b == null || c == null){
//...
}
我想知道是否有任何广泛使用的库(如Google、Apache等)可以一次性检查多个对象是否为空,例如:
if(anyIsNull(a, b, c)){
//...
}
或者if(allAreNulls(a, b, c)){
//...
}
更新:
- 我完全知道如何自己编写它。
- 我知道这可能是程序结构不良的结果,但这不是这种情况。
让我们将原始示例替换为类似于以下内容的东西,使其更具挑战性:
if(a != null && a.getFoo() != null && a.getFoo().getBar() != null){ //... }
更新2:
我已经为Apache Commons Lang库创建了一个拉请求来修复这个问题:
- 问题:https://issues.apache.org/jira/browse/LANG-781
- PR:https://github.com/apache/commons-lang/pull/108
这些将被纳入commons-lang,版本3.5:
anyNotNull (Object... values)
allNotNull (Object... values)