これを行う必要がないようにするには:
if (obj instanceof Class) {
someHandlingMethod((Class) obj);
}
else if (obj instanceof AnotherClass) {
someHandlingMethod((AnotherClass) obj);
}
で述べられているように、オブジェクトを既知のクラスに自動的にキャストすることは可能obj.getClass().getName()
ですか?
それに加えて、それはきちんとしていて信頼できますか? それとも、単に「責任の連鎖」または「ハンドラー」パターンを使用する方がよいのでしょうか?
コンテキスト:
私のプログラムで受信したオブジェクトは、ネットワーク経由で送信された ObjectInputStream から読み取られたオブジェクトです。受信したすべてのオブジェクトは「メッセージ」タイプであり、メッセージのタイプ (AuthenticateRequest、ViewRequest など) のサブクラスがいくつかあります。これらを別々に扱いたいと思います。