gpt4 book ai didi

java - 添加到ArrayList后日期发生变化

转载 作者:行者123 更新时间:2023-12-01 14:44:46 24 4
gpt4 key购买 nike

我有以下内容:

List<ArrayList<AvailablePeriodObj>> outputLists = new ArayList<ArrayList<AvailablePeriodObj>>();

ArrayList<AvailablePeriodObj> partOutputList = new ArrayList<AvailablePeriodObj>();
DateTime beginCheck = periodsList.get(0).getStart();
DateTime endCheck = periodsList.get(0).getEnd();

for(int i= 0; i< periodsList.size(); i++) {
AvailablePeriodObj apo = periodsList.get(i);

if(apo.getStart().equals(beginCheck) && apo.getEnd().equals(endCheck)) {
partOutputList.add(apo);
} else {
outputLists.add(partOutputList);
partOutputList.clear();
beginCheck = apo.getStart();
endCheck = apo.getEnd();
partOutputList.add(apo);
}
if(i== (periodsList.size() - 1)){
outputLists.add(partOutputList);
}

}

这样,我正在为所有开始和日期对创建新列表,我的问题是,在该过程完成后,所有列表中的每个对象都会获取上次使用的开始和日期值。

我想要的结果是多个 ArraList,具体取决于有多少个不同的开始日期对。

最佳答案

请勿调用partOutputList.clear();创建一个新的partOutputList实例(partOutputList = new ArrayList<AvailablePeriodObj>())。

您现在所做的就是添加相同的 partOutputList实例为outputLists ,清除它然后添加最后的值。

关于java - 添加到ArrayList后日期发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15551541/

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