空值时获取空字符串

2022-08-31 10:10:52

我想获取字段的字符串值(它们可以是长字符串的类型或任何对象),

如果一个字段为空,那么它应该返回空字符串,我用番石榴做了这个;

nullToEmpty(String.valueOf(gearBox))
nullToEmpty(String.valueOf(id))
...

但是,如果变速箱为空,则返回空!不是空字符串,因为 valueOf methdod 返回字符串 “null”,从而导致错误。

有什么想法吗?

EDIt:有100多个领域,我正在寻找一些易于实现的东西


答案 1

您可以使用 Objects.toString() (Java 7 中的标准):

Objects.toString(gearBox, "")

Objects.toString(id, "")

从链接的文档:

public static String toString(Object o, String nullDefault)

如果第一个参数不为 null,则返回调用第一个参数的结果,否则返回第二个参数。toString

参数:
- 一个对象
- 如果第一个参数是onullDefaultnull

返回:
调用第一个参数(如果不是)的结果,否则调用第二个参数的结果。toStringnull

另请参阅:
toString(对象)


答案 2

对于java 8,您可以使用可选方法:

Optional.ofNullable(gearBox).orElse("");
Optional.ofNullable(id).orElse("");

推荐