次のコードブロックがあるとしましょう。
if (thing instanceof ObjectType) {
((ObjectType)thing).operation1();
((ObjectType)thing).operation2();
((ObjectType)thing).operation3();
}
すべての型キャストはコードを醜く見せますが、そのコードブロック内で「thing」をObjectTypeとして宣言する方法はありますか?私は私ができることを知っています
OjectType differentThing = (ObjectType)thing;
それ以降は「differentThing」を使用しますが、コードに混乱が生じます。これを行うためのより良い方法はありますか、おそらく次のようなものがあります
if (thing instanceof ObjectType) {
(ObjectType)thing; //this would declare 'thing' to be an instance of ObjectType
thing.operation1();
thing.operation2();
thing.operation3();
}
この質問は過去に行われたことがあると確信していますが、見つかりませんでした。重複の可能性があることを私に指摘してください。