web-dev-qa-db-fra.com

La bibliothèque ModelPaper prend-elle des collections telles que ArrayList ou Hashset?

Cette question ne concerne pas que SOWORAPPER. Ma question concerne ModelMapper en Java, mais je ne peux pas créer de nouvelle étiquette pour ModelMapper comme ma petite réputation. Désolé pour la confusion.

Quoi qu'il en soit, ma question est celle-ci ModelMapper collections de support de bibliothèque comme ArrayList ou Hashset? Il semble ne pas appuyer la collecte de la cartographie de la collecte. Est-ce vrai?

29
Ray

Vous pouvez également mapper directement des collections () directement:

    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);

Documentation sur les génériques de mappage .

53
José

Vous pouvez également éviter les trucs typéoken si vous travaillez avec des tableaux:

  List<PropertyDefinition<?>> list = ngbaFactory.convertStandardDefinitions(props);
  ModelMapper modelMapper = new ModelMapper();
  PropertyDefinitionDto[] asArray = modelMapper.map(list, PropertyDefinitionDto[].class);
4
Cedric Dumont

Ou avec Java 8:

List<Target> targetList =
    sourceList
        .stream()
        .map(source -> modelMapper.map(source, Target.class))
        .collect(Collectors.toList());
1
Bùi Phong