我有两个班级:AbstractMailingDirections
和DirectionLoad
。两者都有一个复制构造函数,如下所示:
public AbstractMailingDirections(AbstractMailingDirections toCopy) {
this.message = toCopy.message;
this.defaultDirection = new DirectionLoad(toCopy.defaultDirection);
for (final DirectionLoad dls : toCopy.directionLoads) {
this.directionLoads.add(new DirectionLoad(dls));
}
}
和
public DirectionLoad(DirectionLoad toCopy) {
this.direction = toCopy.direction;
this.transportationContract = toCopy.transportationContract;
this.pickUpTime = toCopy.pickUpTime;
this.acceptanceTime = toCopy.acceptanceTime;
this.acceptanceLocation = toCopy.acceptanceLocation;
this.information = toCopy.information;
}
现在,当我调用MailingDirections
复制构造函数(只是super(toCopy)
)时,有时我不会得到defaultDirection
复制的字段。或者不是全部。而使用 Eclipse 调试器则更加陌生:
这里我点击了
AbstractMailingDirections
要复制的。查看打印defaultDirection.acceptanceTime
中的 17:00如何toString
显示null
在字段列表中。如果我单击默认方向,它的toString
打印将显示该acceptanceTime
字段为null
.
这让我发疯了。有什么想法可能导致这种情况吗?