我有这样的声明
TransactionItemDto itemDto = getTransactionItemMessage().getTransactionItemDto();
然后我有以下代码:
if (itemDto instanceof ChangeTransactionItemDto) {
inputItem.setSiteCode(itemDto.getSiteCode()));
inputItem.setBinLocation(itemDto.getBinLocation()));
}
现在,我有变量 ' department
' 仅属于ChangeTransactionItemDto
。但我目前无法在上面的 if 块中执行此操作:inputItem.setDepartment(itemDto.getDepartment()));
那是因为 itemDto 被声明为 typeTransactionItemDto
而不是ChangeTransactionItemDto
.
如果我在itemDto.getDepartment()
内部检查它的子类类型,我可以在调试过程中检查该值。但该声明给出了错误。如何设置属于子类的部门 -ChangeTransactionItemDto
上inputItem
?