当前位置: 首页 > 面试题库 >

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

申奇希
2023-03-14
问题内容

我在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用作您的过滤器参数。



 类似资料:
  • 我试图将名称字段索引到elasticsearch中,名称可能是字符串或空字符串(),我希望搜索所有包含空值的名称,所以我使用筛选器,但对于筛选器,空值不是空值。 https://www.elastic.co/guide/en/elasticsearch/reference/1.4/query-dsl-exists-filter.html 查询DSL: 如何将空字符串作为elasticsearch筛

  • 问题内容: 我想知道上面的代码是否可用于检查变量是否为null或为空。 问题答案: 是的,该代码正是这样做的。 您还可以使用: 编辑: 使用添加的值信息,您需要: 一个值不能包含值。

  • 问题内容: 我想使用一个框并使用适配器功能进行过滤。直到我在文本框中输入空格后,它才能正常工作。 编辑:这是一个 SimpleAdapter不是ArrayAdapter 如果我的列表中包含以下单词:{“ Apple”,“ Banana”,“ Red Apple”}如果键入“ apple”,它将返回其中包含apple这个单词的所有项目(Apple和Red Apple)。如果我键入“ apple”,它

  • 问题内容: 我是Java新手。无法检查null。你能启发我吗?我有没有元素的字符串数组。 我尝试了这段代码 问题答案: 非常精确 会检查不是。并且将不为空[你也可以放弃该空格检查长度之前修剪。

  • 问题内容: 我敢肯定,以前必须以不同的方式询问过这个问题- 因为isEmptyOrNull很常见,但人们以不同的方式实现它。但是我在最好的可用方法方面有以下好奇的查询,这对内存和性能都有好处。 1)下方不考虑所有空格,例如在XML标签为空的情况下 2)低于一保重但修剪会降低性能和记忆力 3)将两者结合可以节省一些性能和内存(克里斯在评论中建议) 4)转换为模式匹配器(仅在字符串长度不为零时调用)

  • 问题内容: 我有以下类,它是由Jackson映射的(简化版): 在某些情况下,服务器会返回,然后我想将name设置为空的Java String。 是否有任何Jackson注释,或者如果属性为,我应该只检查getter中的null并返回空字符串? 问题答案: 您可以在默认构造函数中或声明时进行设置: 要么