私は次のモデルを持っています:
abstract Article {id, name, text}
final NewspaperArticle { printDate } extends Article
final ScientificArticle { quotations, publicationDate } extends Article
final ... { ... } extends Article
Articleスーパークラスの共通フィールドが設定され、異なるフィールドがnullのままになるように、最終エンティティを相互にキャストするにはどうすればよいのでしょうか。何かのようなもの:
ScientificArticle scientificArticle = ...;
NewspaperArticle newspaperArticle = new NewspaperArticle();
newspaperArticle.copyOf(scientificArticle);
それをキャストすることは可能ですか、それともリフレクションを使用する必要がありますか?