问题遇到的现象和发生背景
由于实体类自身设计的原因导致了java自身List的循环嵌套
问题相关代码,请勿粘贴截图
public class SequenceControlUnit extends Observable implements Observer {
@ApiModelProperty("所属任务id")
@JSONField(serializeUsing = ToStringSerializer.class)
private Long taskId;
// 需要通过该操作步骤主键去判断操作结果
@ApiModelProperty("一键顺控操作步骤主键")
@JSONField(serializeUsing = ToStringSerializer.class)
private Long sequenceControlOperateId;
// 需要通过该操作顺序确定观察者链
@ApiModelProperty("操作顺序")
private Integer operateOrder;
@ApiModelProperty("操作内容")
private String operateContent;
@ApiModelProperty("预期目标")
private String expectedTarget;
@ApiModelProperty("实际成功结果")
private String actualSuccessResult;
@ApiModelProperty("实际失败结果")
private String actualFailResult;
@ApiModelProperty("实际结果")
private String actualResult;
// 所关联的设备是否在运行
@ApiModelProperty("量测状态")
private Integer measurementStatus;
// 需要通过该结果通知观察者
@ApiModelProperty("单步结论")
private String status;
// 摄像头列表
@ApiModelProperty("摄像头列表")
private List<SequenceControlCameraInfo> sequenceControlCameraInfoList;
// 所在的单元列表
@ApiModelProperty("单元列表")
@JSONField(serialize = false)
private List<SequenceControlUnit> unitList;
}
// 2.创建观察者链
for (int i = 0; i < unitList.size(); i++) {
SequenceControlUnit unit = unitList.get(i);
unit.setTaskId(taskId);
unit.setSequenceControlCameraInfoList(groupByOperateId.get(unitList.get(i).getSequenceControlOperateId()).stream().distinct().collect(Collectors.toList()));
unit.setUnitList(unitList);
if (i != unitList.size() - 1) {
unit.addObserver(unitList.get(i + 1));
}
}
运行结果及报错内容
这样会有问题吗?