Java 8流字符串为空或空过滤器

我在Stream中有Google Guava:

this.map.entrySet().stream()

.filter(entity -> !Strings.isNullOrEmpty(entity.getValue()))

.map(obj -> String.format("%s=%s", obj.getKey(), obj.getValue()))

.collect(Collectors.joining(","))

如您所见!String.isNullOrEmpty(entity),过滤器函数内部有一条语句。

我不想在项目中再使用番石榴,所以我只想替换为:

string == null || string.length() == 0;

我怎样才能使它更优雅?

回答:

您可以编写自己的谓词:

final Predicate<Map.Entry<?, String>> valueNotNullOrEmpty

= e -> e.getValue() != null && !e.getValue().isEmpty();

然后,将其valueNotNullOrEmpty用作您的过滤器参数。

以上是 Java 8流字符串为空或空过滤器 的全部内容, 来源链接: utcz.com/qa/416847.html

回到顶部