这可能是一个简单的问题,但我无法获得最佳解决方案。我的方法如下所示:
public static MlpConfigDto toMlpConfigDto(MlpConfig mlpConfig) {
return new MlpConfigDto().setActivationFunction(mlpConfig.getActivationFunction().getType().name())
.setBatchSize(mlpConfig.getBatchSize()).setDescription(mlpConfig.getDescription())
.setEpochNumber(mlpConfig.getEpochNumber()).setId(mlpConfig.getId())
.setLastUpdated(mlpConfig.getLastUpdated())
.setLayers(new List<LayerDto>(
mlpConfig.getLayers().stream().map(layer -> new ModelMapper().map(layer, LayerDto.class)))
.collect(Collectors.toList()));
}
由于Java中没有new List<LayerDto>
,因此最后一部分当然不起作用。使用Set
可以像超级按钮一样工作,但是我这里需要List
。那么,List
最简单的方法是怎么做?
对于Set
,它看起来像这样:
.setLayers(new HashSet<LayerDto>(
mlpConfig.getLayers().stream().map(layer -> new ModelMapper().map(layer, LayerDto.class)))
.collect(Collectors.toSet()));
}
答案 0 :(得分:1)
以下行返回一个列表:
mlpConfig.getLayers()
.stream()
.map(layer -> new ModelMapper().map(layer, LayerDto.class))
.collect(Collectors.toList())
无需将其包装到另一个集合中。