java – 奇怪的复制构造函数
发布时间:2020-12-14 19:35:51 所属栏目:Java 来源:网络整理
导读:我有两个类:AbstractMailingDirections和DirectionLoad.两者都有一个拷贝构造函数如下: public AbstractMailingDirections(AbstractMailingDirections toCopy) { this.message = toCopy.message; this.defaultDirection = new DirectionLoad(toCopy.defaul
我有两个类: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复制构造函数(它只是超级(toCopy))时,我有时不会复制defaultDirection的字段.或者不是全部.使用Eclipse调试器甚至更奇怪: 在这里,我点击了要复制的AbstractMailingDirections.请参阅toString打印中defaultDirection.acceptanceTime如何为17:00,但在字段列表中显示为null.如果我单击defaultDirection,它的toString print会将acceptanceTime字段显示为null. 这让我疯了.可能导致这种情况的任何想法? 解决方法
这些是Hibernate实体(或JPA或类似的)吗?在这种情况下,访问字段可能会制造延迟加载魔法和通过getter访问它可能会修复它.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |