将null替换为空的String装饰器

时间:2019-03-03 19:06:40

标签: java cactoos

在Cactoos框架中是否有一些Text装饰器(或其他方式),可以将空字符串替换为空字符串?就像Google Guava中的Strings.nullToEmpty函数一样。

我找到了NoNulls装饰器,但是我只需要替换而不会引发异常。

所以它必须看起来像这样:

String someNullString = null; 
new StrictEmptyText(
 new TextOf(someNullString) // this row produces NPE for now
).asString(); // ""

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

否,没有Text实现可以直接为您完成此操作。

使用纯仙人掌:

new TextOf(
  new UncheckedScalar<>(
    new Ternary<>(
      someNullString != null,
      someNullString,
      ""
    )
  ).value()
)

答案 1 :(得分:0)

您可以像这样从Java 8使用Optional::ofNullable

String str = Optional.ofNullable(someNullString)
        .orElse(""); // return empty if someNullString is null or someNullString if not null