Java 简单的 "isNull"/"isNotNull"函数有什么用?

标签 java function null

我觉得问这个问题很傻,但我已经在两个独立的公司代码库中看到过这段代码,我开始认为我不知道有一些古老的 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实用类中也有类似的函数,称为nonNullisNull .提供它们的原因是用作谓词,例如

...stream().filter(Objects::nonNull)...

我看不出有任何使用的理由

if (SomeClass.isNotNull(x))

而不是更短,更清晰

if (x!=null)

关于Java 简单的 "isNull"/"isNotNull"函数有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40885543/

相关文章:

javascript - 将参数传递给作为参数传递给 jQuery 函数的函数

c# - 当参数对象的必需属性为 null 时应抛出哪个异常

java - 为什么它总是说最低的数字是 Null?

SQL 服务器 : concatenate values and ignore null or blank values

java - java 中的实例变量是否不允许使用某些访问修饰符?

java - 在 Java 中将 CPLEX 的 IloNumVar 变量转换为 double

java - JPanels : One with a JTextArea and another with a JLabel

c - 如何打印函数指针的级联名称?

Ruby 方法链接 - `tap` 替换

Java Webstart 日志记录