我正在尝试使用java.util.List.add(int location, Object object)
当我添加第一个Object时,它会被存储在如下屏幕截图所示的位置(不知道为什么索引是9但我希望它存储在索引0处)
以下是我的代码
InstructionCRUDTO instructionCRUDTO = new InstructionCRUDTO();
List<InstructionCRUDTO> instructionCRUDTOListCRDB = new ArrayList<InstructionCRUDTO>();
int instructionCount = 0;
for(InstructionTemplate instruction : recurringInstructionGroup.getInstructions())
{
instructionCRUDTO.setExecutionDate(Long.valueOf(instruction.getDetails().getExecutionDate().getTime()));
instructionCRUDTOListCRDB.add(instructionCount,instructionCRUDTO);
instructionCount++;
}
当我将第二个对象添加到列表中时,第一个对象将被第二个对象覆盖。 我的问题是,我无法将最初添加的对象存储在列表中。最后插入的对象将覆盖已添加的对象。请参考下面的截图。
我只是想使用java.util.List.add(Object)
代替List.add(inst Location, Object object)
,但它不能正常工作。
答案 0 :(得分:0)
只有一个InstructionCRUDTO
个实例,它总是相同的(在循环外创建)
因此,您在列表中创建的每个add
都会在不同的索引处添加相同的对象。
在for-loop中移动InstructionCRUDTO instructionCRUDTO = new InstructionCRUDTO();
以修复&#34;问题&#34;