首页 > 解决方案 > spring 中是否有任何内置方法来编写空/空检查方法?

问题描述

我写了这段代码,我想知道是否有一个来自 spring 的内置方法与这个方法做同样的事情。

public static String map(String value) {
    return value != null && value.isEmpty() ? null : value;
}

我找到ObjectUtil了,但它没有任何具有相同功能的方法。

我将不胜感激任何建议!

标签: javaspring-boot

解决方案


查看您的代码似乎您只是将空字符串映射到null而不是完全避免它。

public static String map(String value) {
    return value != null && value.isEmpty() ? null : value;
}

如果value为null,则返回值为null,如果为空,则再次返回null。

如果您的意图是避免空值,则应引入NullObject 模式

在 java 8+ 上使用 Optional ,因为它是相同的,但语言本身支持。

正如 Jan Schumacher 的评论中已经显示的那样,它可以帮助您轻松地进一步过滤值。

使用你的函数,你仍然需要一个空检查,但是使用 Optional 你不再需要它并且代码更清晰。

您甚至可以@NotNull在方法签名中使用注释,以帮助强制在非预期时传播空值。


推荐阅读