簡體   English   中英

使用流圖Java 8轉換另一個列表

[英]Transform a list in another with stream map java 8

我想使用stream和Java 8中的另一個選項基於基於FieldError的列表創建一個ErroDto列表。

fieldErrors.stream()
                   .forEach(e -> errosDto.add(new ErroDto(e.getField(), e.getDefaultMessage())));

我在下面嘗試這樣,但是我認為它是錯誤的,因為我正在修改地圖中的第二個列表:

fieldErrors.stream()
               .map(e -> errosDto.add(new ErroDto(e.getField(), e.getDefaultMessage())));

然后,我想映射並收集為列表。

map應僅將每個FieldError實例轉換為ErroDto實例。

使用collect將所有ErroDto實例收集到一個List

List<ErroDto> errosDto =
    fieldErrors.stream()
               .map(e -> new ErroDto(e.getField(), e.getDefaultMessage()))
               .collect(Collectors.toList());

傳遞給map()方法的lambda表達式將使用輸入對象並返回輸出對象。 您不應將其添加到map()方法本身內部的列表中。 將來自map()的流收集到List<ErroDto>

List<ErroDto> errosDto = fieldErrors.stream()
    .map(e -> new ErroDto(e.getField(), e.getDefaultMessage()))
    .collect(Collectors.toList());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM