java - 如果 String 为空,如何设置 null 值?

标签 java null java-stream

有时开发人员会检查字符串是否为null值,如果是,则将这些字符串设置为空值:

if (text == null) {
    text = "";
}

我想做的是写相反的if语句:

if (text.isEmpty()) {
    text = null;
}

但是...首先 - 我必须(像往常一样)检查这个字符串是否为 null 以避免 NullPointerException,所以现在它看起来像这样(非常难看,但 KISS):

if (!text == null) {
    if (text.isEmpty()) {
        text = null;
    }
}

我的类有几个字符串字段,我必须为所有这些字段准备这个解决方案。 对于更高效的代码有什么基本想法吗?将其延伸为 lambda 表达式并迭代此类中的所有 String 字段是否是一个好方法?

最佳答案

使用 Guava 的 emptyToNull 的另一种选择:

text = Strings.emptyToNull(text);

关于java - 如果 String 为空,如何设置 null 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54443150/

相关文章:

java - 在知道@NonNull 注释的Eclipse 中自动生成equals 和hashCode

ruby - 在 Ruby 中,为什么 nil[1]=1 的计算结果为 nil?

Java 8 lambda 嵌套 Map

java - 如何使用简单 XML 序列化 Map<String, String>?

java - 如何使用 WSS4J 拦截器在 Web 服务方法中获取经过身份验证的用户

java - 将循环编号添加到对象的名称

java - 通过流将带有列表的列表对象转换为 Java 8 中的映射

java - 正则表达式还是异常处理?

C 代码,使用 NULL 与 0,最佳实践

java - 如何根据项目属性的总和对集合进行分区,直到达到给定的限制?