【发布时间】:2020-10-17 22:22:54
【问题描述】:
如何将一个对象转换为另一个对象?例如,我有 3 个类 Car(等于 CarVO)、CarDTO 和 CarFactory。问题在于我无法通过 Car 的对象设置 CarDTO 的对象。我应该将其转换为字符串还是什么?我将不胜感激!
public class Car {
private Long id;
private String model;
private Engine engine;
private Integer manufacturedYear;
private enum Engine {Petrol, Diesel, Gas}
// Constructor, setters & getters
}
public class CarDTO {
private Long id;
private String model;
private Engine engine;
private Integer manufacturedYear;
private enum Engine {Pertol, Diesel, Gas}
// Constructor, setters & getters
}
public enum CarFactory {
INSTANCE;
CarFactory() {}
public static CarFactory getInstance() {return INSTANCE;}
public CarDTO createCarDTO(Car car) {
CarDTO carDTO = new CarDTO();
carDTO.setId(car.getId());
carDTO.setModel(car.getModel());
carDTO.setEngine(car.getEngine()); // Here is an issue
carDTO.setManufacturedYear(car.getManufacturedYear());
return carDTO;
}
}
【问题讨论】:
-
您编写了一个映射器,将一个映射到另一个。顺便说一句,你只需要一次anum。
-
我已经使用 ModelMapper 进行映射。 modelmapper.org