可以使用Java 8中引入的Stream API来简化这段代码。首先,我们可以使用Stream.of()方法创建一个流,将所有的表头信息都放入其中:

Stream<List<String>> headerStream = Stream.of(
    Collections.singletonList(scoreItemTableHeader.getDutyClassify()),
    Collections.singletonList(scoreItemTableHeader.getAssesseeName()),
    Collections.singletonList(scoreItemTableHeader.getTotalScoreName()),
    scoreItemTableHeader.getScoreListName().stream()
        .map(scoreItemCellsVO -> Collections.singletonList(scoreItemCellsVO.getLabel()))
        .collect(Collectors.toList())
);

接着,我们可以将流中的所有List对象都合并成一个大的List对象,最终得到一个头部信息的List<List>对象:

List<List<String>> header = headerStream.flatMap(Collection::stream)
    .collect(Collectors.toList());

完整的代码如下:

List<List<String>> header = Stream.of(
    Collections.singletonList(scoreItemTableHeader.getDutyClassify()),
    Collections.singletonList(scoreItemTableHeader.getAssesseeName()),
    Collections.singletonList(scoreItemTableHeader.getTotalScoreName()),
    scoreItemTableHeader.getScoreListName().stream()
        .map(scoreItemCellsVO -> Collections.singletonList(scoreItemCellsVO.getLabel()))
        .collect(Collectors.toList())
)
.flatMap(Collection::stream)
.collect(Collectors.toList());
Java Stream 流简化代码示例:生成表头信息

原文地址: https://www.cveoy.top/t/topic/oZDp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录