我有这样的声明
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?