ejemplo - mapstruct java 8
¿La biblioteca ModelMapper admite colecciones como ArrayList o HashSet? (3)
Esta pregunta no está relacionada con AutoMapper. Mi pregunta es sobre ModelMapper en java, sin embargo no puedo crear una nueva etiqueta para modelmapper como mi pequeña reputación. Perdon por la confusion.
De todos modos, mi pregunta es si la biblioteca modelmapper admite colecciones como arraylist o hashset? Parece que no es compatible con la recopilación de la colección de mapas. ¿Es verdad?
Sí: se admite la asignación de colección a colección. Ex:
static class SList {
List<Integer> name;
}
static class DList {
List<String> name;
}
public void shouldMapListToListOfDifferentTypes() {
SList list = new SList();
list.name = Arrays.asList(Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(3));
DList d = modelMapper.map(list, DList.class);
assertEquals(d.name, Arrays.asList("1", "2", "3"));
}
También puede evitar las cosas de TypeToken si trabaja con matrices:
List<PropertyDefinition<?>> list = ngbaFactory.convertStandardDefinitions(props);
ModelMapper modelMapper = new ModelMapper();
PropertyDefinitionDto[] asArray = modelMapper.map(list, PropertyDefinitionDto[].class);
También puede mapear colecciones () directamente:
List<Person> persons = getPersons();
// Define the target type
java.lang.reflect.Type targetListType = new TypeToken<List<PersonDTO>>() {}.getType();
List<PersonDTO> personDTOs = mapper.map(persons, targetListType);