Каким образом? С точки зрения ремонтопригодности и ясности , я голосую за библиотеки отображения объектов, такие как ModelMapper или MapStruct , которые основаны как на отражении, так и на аннотаций. В случае MapStruct вы можете определить отображение для объектов TypeA
и TypeB
и использовать соответствующий метод в одном и том же интерфейсе отображения.
@Mapper
public interface TypeA Mapper {
@Mapping(target="a")
TypeB typeAToTypeB(TypeA typeA)
List<TypeB> listOfTypeAToListOfTypeB(List<TypeA> list);
}
Вы всегда можете использовать простую итерацию, используя java -stream или простой for-l oop:
List<TypeB> listOfTypeB = listOfTypeA.stream()
.map(typeA -> new TypeB(typeA.getA())
.collect(Collectors.toList());