このような宣言があります
TransactionItemDto itemDto = getTransactionItemMessage().getTransactionItemDto();
次に、次のコードがあります。
if (itemDto instanceof ChangeTransactionItemDto) {
inputItem.setSiteCode(itemDto.getSiteCode()));
inputItem.setBinLocation(itemDto.getBinLocation()));
}
今、私は変数 ' department' のみに属してChangeTransactionItemDtoいます。しかし、現在、上記の if ブロック内でこれを行うことはできません。inputItem.setDepartment(itemDto.getDepartment()));
これは、 itemDto が型TransactionItemDto ではなく型で宣言されているためChangeTransactionItemDtoです。
itemDto.getDepartment()内部的にはサブクラス型であるため、デバッグプロセス中に値を確認できます。しかし、ステートメントはエラーを出します。ChangeTransactionItemDtoでサブクラスに属する部門を設定するにはどうすればよいinputItemですか?