gpt4 book ai didi

java - 如何迭代对象数组列表并设置为java 8中的另一个对象列表?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:17 25 4
gpt4 key购买 nike

目前我有该数组中的对象数组列表,我必须迭代并添加到我的 LatestNewsDTO 列表中,我在下面的代码工作中做了什么,但我仍然不满意我的方式。他们有什么有效的方法吗,请告诉我。

谢谢

List<Object[]> latestNewses = latestNewsService.getTopNRecords(companyId, false, 3);
List<LatestNewsDTO> latestNewsList = new ArrayList();
latestNewses.forEach(objects -> {
LatestNewsDTO latestNews = new LatestNewsDTO();
latestNews.setId(((BigInteger) objects[0]).intValue());
latestNews.setCreatedOn((Date) objects[1]);
latestNews.setHeadLine((String) objects[2]);
latestNews.setContent(((Object) objects[3]).toString());
latestNews.setType((String) objects[4]);
latestNewsList.add(latestNews);
});

最佳答案

使用 Stream 将您的 Object[] 数组映射到 LatestNewsDTO 并将它们收集到 List 中:

List<LatestNewsDTO> latestNewsList =
latestNewses.stream()
.map(objects -> {
LatestNewsDTO latestNews = new LatestNewsDTO();
latestNews.setId(((BigInteger) objects[0]).intValue());
latestNews.setCreatedOn((Date) objects[1]);
latestNews.setHeadLine((String) objects[2]);
latestNews.setContent(((Object) objects[3]).toString());
latestNews.setType((String) objects[4]);
return latestNews;
})
.collect(Collectors.toList());

当然,如果您创建一个接受数组的 LatestNewsDTO 构造函数,代码看起来会更优雅。

List<LatestNewsDTO> latestNewsList =
latestNewses.stream()
.map(objects -> new LatestNewsDTO(objects))
.collect(Collectors.toList());

现在 LatestNewsDTO (Object[] objects) 构造函数可以保存解析数组和设置实例成员的逻辑。

关于java - 如何迭代对象数组列表并设置为java 8中的另一个对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35790723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com