resultList.stream().filter(x->{}),{}怎么对x进行非空过滤
时间: 2023-11-28 16:50:44 浏览: 29
可以使用Java 8的Optional类来对x进行非空过滤,代码如下:
```
resultList.stream().filter(x -> Optional.ofNullable(x).isPresent()).forEach(System.out::println);
```
或者使用Java 11的Objects类的非空判断方法,代码如下:
```
resultList.stream().filter(x -> Objects.nonNull(x)).forEach(System.out::println);
```
其中的`System.out::println`是一个简写的Lambda表达式,可以根据实际需求替换为其他操作。
相关问题
resultList.stream().filter(x->{过滤非空})
这段代码使用了 Java 8 中的 Stream API,对一个 List 集合进行过滤操作,保留其中非空的元素。
具体来说,`resultList.stream()` 将 List 转化为 Stream 对象,`filter` 方法接受一个 Predicate 函数式接口作为参数,该接口的实现决定了要保留哪些元素。在这里,传入的是一个 lambda 表达式 `x -> {过滤非空}`,其中 `x` 表示 Stream 中的每一个元素,大括号中的代码表示判断 x 是否为空,返回一个 boolean 值。最终,该方法返回一个新的 Stream 对象,其中仅包含原来 List 中非空的元素。
resultList.stream().filter过滤非空及空字符串
你可以使用Java 8的Stream API中的filter()方法来过滤非空及空字符串。代码示例如下:
```
List<String> resultList = Arrays.asList("hello", "", "world", null, " ", "java");
List<String> filteredList = resultList.stream()
.filter(str -> str != null && !str.trim().isEmpty())
.collect(Collectors.toList());
System.out.println(filteredList); // Output: [hello, world, java]
```
在这个例子中,我们首先创建了一个包含字符串的列表,并且其中包含了一些空字符串、null值和只包含空格的字符串。然后,我们使用Stream API中的filter()方法,使用lambda表达式过滤掉了那些非空及空字符串。最后,我们使用collect()方法将过滤后的结果收集到一个新的列表中,并输出这个列表。