使用Stream API的map方法可高效提取对象集合字段,如List names = users.stream().map(User::getName).collect(Collectors.toList()),支持字段转换、组合及null值处理,代码简洁且功能强大。
在Java中,如果想从一个对象集合中提取某个字段生成新的List,常用的方式是使用Stream API结合map方法。这种方式简洁、易读,适用于Java 8及以上版本。
假设有一个User类,包含name和age字段:
// 示例类 cl
ass User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
现在有一个User的List,想要提取所有用户的name字段组成一个新的List:
import java.util.*; import java.util.stream.Collectors; List此时names列表的内容就是["Alice", "Bob", "Charlie"]。
如果需要提取多个字段,或者组合成新对象,也可以在map中处理:
// 提取姓名并转为大写 List如果集合中可能存在null对象,建议加上过滤,避免空指针异常:
List