java - 如何将ArrayList的属性复制到具有不同属性名称的其他ArrayList的另一个属性中?

标签 java arraylist java-8 java-stream

如何将公司的值复制到:

List personList

企业:

List employeeList

使用 Java-8?

我有:

@Getter
@Setter
public class Person {
    private String name;
    private String company;

}

还有:

@Getter
@Setter
public class Employee {
    private String name;
    private String enterprise;

}
List<Person> personList
List<Employee> employeeList

我无法更改 enterprise 的属性名称。

最佳答案

我假设Employee有一个像Employee(String name, String enterprise)

这样的构造函数

您可以使用 stream().map()Person 对象转换为 Employee,然后收集新的 Employee code> 列表中的实例。

试试这个:

List<Employee> employeeList = personList.stream().map(p -> new Employee(p.getName(), p.getCompany()))
        .collect(Collectors.toList());

关于java - 如何将ArrayList的属性复制到具有不同属性名称的其他ArrayList的另一个属性中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62219787/

相关文章:

java - 如何用变量定义java对象名?

java - 在一行代码中使用另一个 ArrayList 的所有元素创建一个新的 ArrayList,除了一个

java - 尝试创建一个带有 2D vector 和字符串数组头的 JTable,我该怎么做?

java - 使用抽象类的ArrayList

java - 为什么ArrayList、HashMap等类没有同步?

java - Java 8 中 "If/Throw, Else/Return"逻辑的简写?

Java 流过滤

Java:如何使用 Optional.empty() 编译?

java - 在 vaadin 中显示 mysql 数据库表中的数据

java - Java 异常处理的良好实践