【问题标题】:How to set a value of List object into another List object?如何将 List 对象的值设置为另一个 List 对象?
【发布时间】:2020-12-07 09:51:54
【问题描述】:

我有一个 POJO。我们称之为TrackingDetailDto。这里是这个POJO的成员变量。

OrderDto orderDto;
private String awbNumber;
LogisticProviderServicesDto logisticProviderServicesDto;
List<TrackingHistoryDto> history;

所以在TrackingDetailDto 中,我有另一个名为“历史”的列表对象。我想添加几个从数据库中获得的值。

 List<LogisticTrackingDetailDto> trackingDetaillist = new ArrayList<LogisticTrackingDetailDto>( logisticTrackingDetailList.size() );
 List<TrackingHistoryDto> historyList = new ArrayList<TrackingHistoryDto>(logisticTrackingDetailList.size());

我为每个列表对象做一些设置器操作。和成功。问题是,如何在这个列表对象(List&lt;TrackingHistoryDto&gt; history)中添加historyListtrackingDetaillist

【问题讨论】:

  • 1.使用 DTO 全大写,因为它是首字母缩略词; 2、TrackingDetailDto的变量在哪里? 3. 如果需要,您可以轻松输入List&lt;List&lt;T&gt;&gt;,例如T 名单列表.
  • 什么是TrackingDetailDto,什么是LogisticTrackingDetailDto?它们是一样的吗?
  • @GiorgiTsiklauri,对我来说,像 DTO 这样的首字母缩略词本身就是一个词,所以我会像 OP 一样用驼峰式写法。因为当您拥有 DTO 列表时,您可能希望将其命名为 myDtoList,这比 myDTOList 更易于阅读……但也许只有我一个人 :)
  • @GameDroids 是的,只有你。首字母缩写词更容易阅读,它们都是大写字母,此外这是如何编写首字母缩写词的语法。想象一下你有一个ObjectControllerWithDtoParser 类,这里真的很容易阅读吗?我不这么认为。
  • @GameDroids 对不起,是的,它们是一样的。

标签: java list object arraylist


【解决方案1】:

你的意思是简单的列表连接吗?

trackingDetaillist.getHistory().addAll(historyList)

更新

正如GameDroid 在 cmets 中提到的,您可能需要遍历 trackingDetails 列表:

trackingDetaillist.forEach(detail -> detail.getHistory().addAll(historyList))

【讨论】:

  • trackingDetaillist 是一个列表,因此您需要遍历它。 trackingDetaillist.forEach(trackingDetail -&gt; trackingDetail.getHistory().addAll(historyList))
【解决方案2】:

如果您想在每个物流跟踪中包含跟踪历史列表,则必须使 TrackingHistoryDTO 列表成为 LogisticTrackingDetailDto 类的成员。

【讨论】:

  • 你能举个例子来改进答案吗?发帖人可能真的不知道如何“使 TrackingHistoryDTO 列表成为 LogisticTrackingDetailDto 类的成员”
猜你喜欢
  • 1970-01-01
  • 2010-11-29
  • 1970-01-01
  • 2022-12-10
  • 2016-06-07
  • 1970-01-01
  • 1970-01-01
  • 2018-01-16
  • 1970-01-01
相关资源
最近更新 更多