我觉得问这个问题很傻,但我已经在两个独立的公司代码库中看到过这段代码,我开始认为我不知道有一些古老的 Java 知识。
所以,我们得到了这样的代码:
/* Lot of corporate stuff */
if (ClassicUtilsClass.isNotNull(variable)) {
/* Variable handling shenanigans. */
}
转到我们的 ClassicUtilsClass 揭示了函数的实现:
/* Lot of useful static functions*/
public static isNotNull(Object o) {
return o!=null;
}
public static isNull(Object o) {
return o==null;
}
我看了,挠头,上网看了看,问了同事 friend ,然后就 mock 这个功能没用。然后我换了工作,一位同事向我展示了大致相同的代码。
在同一个代码库中,我们有经典的“isNullOrEmpty”,它执行标准的“return object==null || object.size() == 0;”,所以我可以理解有一个函数来包装 null 比较。 .. 加上其他东西,但我看不出为 null 检查创建一个全新的函数有什么意义。
我在这里丢了什么东西?
最佳答案
Objects
实用类中也有类似的函数,称为nonNull
和 isNull
.提供它们的原因是用作谓词,例如
...stream().filter(Objects::nonNull)...
我看不出有任何使用的理由
if (SomeClass.isNotNull(x))
而不是更短,更清晰
if (x!=null)
关于Java 简单的 "isNull"/"isNotNull"函数有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40885543/