Java stream 去除对象中string数据空格
时间: 2024-10-24 14:19:23 浏览: 41
在Java Stream API中,如果你想去除对象中某个String字段的空格,可以使用`map()`函数配合`trim()`方法来实现。假设你有一个列表(List)或集合(Collection),其中的对象都有一个名为`name`的String属性,你可以这样做:
```java
List<MyObject> objects = ...; // 假设MyObject类有一个String类型的name字段
List<MyObject> objectsWithoutSpaces = objects.stream()
.map(obj -> {
obj.setName(obj.getName().trim()); // 使用trim()移除字符串两端的空格
return obj;
})
.collect(Collectors.toList());
```
这里,`map()`遍历每个对象,`obj.getName().trim()`获取并修剪`name`字段的空格,然后返回处理后的对象。最后,`collect()`将修改过的对象收集到新的列表中。
如果你需要对整个流操作结果进行去空处理,可以在`collect()`后添加一个判断条件,例如:
```java
List<String> names = objectsWithoutSpaces.stream()
.map(MyObject::getName)
.filter(Objects::nonNull) // 过滤掉null值
.collect(Collectors.toList());
```
这会创建一个新的只包含非空名字的列表。
阅读全文