このような宣言があります
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
ですか?