Я использую библиотеку lombok в модельных классах моего проекта весенней загрузки.
@Data
@Builder
public class Employee {
private String fullname;
private long someNumber;
private boolean isManager;
}
В другом классе у меня есть список сотрудников:
List<Employee> employeeList = getListOfEmployees();
Я хотел бы создать глубокую копию employeeList
, вот что я попробовал:
шаг 1. Я создаю конструктор копирования в Employee
классе:
@Data
@Builder
public class Employee {
private String fullname;
private long someNumber;
private boolean isManager;
// copy constructor
public Employee(Employee employee) {
this.fullname = employee.fullname;
this.someNumber = employee.someNumber;
this.isManager = employee.isManager;
}
}
шаг 2. Я использую потоковый API Java 8 для создания полной копии списка сотрудников:
List<Employee> employeeListCopy = employeeList.stream().map(Employee::new).collect(Collectors.toList());
Но когда я строю свой проект sprint-boot, я получил ошибку:
Error:(13, 1) java: constructor Employee in class com.my.webapp.model.Employee cannot be applied to given types;
required: com.my.webapp.Employee
found: java.lang.String,long,boolean
reason: actual and formal argument lists differ in length
Почему? Как избавиться от этой ошибки для моей глубокой копии?