オブジェクトを関連するEObjectにキャストする必要があります。私がそれをしようとすると、私はClassCastExceptionを取得します。私の質問は、オブジェクトをEObjectにキャストすることが可能であり、可能であれば、それをどのように行うことができるかということです。ObjectをEMF EObjectにキャストしようとするとClassCastExceptionが発生しますか?
ありがとうございます。
オブジェクトを関連するEObjectにキャストする必要があります。私がそれをしようとすると、私はClassCastExceptionを取得します。私の質問は、オブジェクトをEObjectにキャストすることが可能であり、可能であれば、それをどのように行うことができるかということです。ObjectをEMF EObjectにキャストしようとするとClassCastExceptionが発生しますか?
ありがとうございます。
EObjectsは、がの対応するオブジェクトを表すインターフェイスですが、は同じタイプのではありません。あなたはキャストできません。そして本当に、あなたはしたくないです。 EObjectsとその子孫は実際のプログラムではなく、モデルを記述していました。
これらは実装者と同じ型です。たとえば、ArrayListはListであり、Collectionでもあり、絶対にキャストできます。これは、正解とマークするべきではありません。 – Robin
@Robin、EObjectsはEclipseのEMFフレームワークの一部です(http://download.eclipse.org/modeling/emf/emf/javadoc/2.4.3/org/eclipse/emf/ecore/EObject.html)。あなたの例は、絶対に彼らとは何の関係もなく、どこにもないはずの混乱につながります。 – Jochen
私は訂正しました。私は約5年間でEMFを見ていないし、その観点から問題については考えなかった。私たちは実際にはどちらも正しいですが、私とは違って、OPが持っていたEMFの混乱については言及しませんでした。 downvoteの私の謝罪。 – Robin
この例外が発生した場合、そのインスタンスはEObjectではありません。実際にはそうではないときに、それがEOjbectであると言うことを意味しています。
キャスティングは変換プロセスではありません。あなたのオブジェクトをEObjectに「作る」ことはありません。単にそれを1つのものとして明らかにします。
あなたの例外は、あなたがEObjectにキャストしようとしているオブジェクト(あなたの質問に含める必要があるもの、btw)を実際に教えてくれます。
http://stackoverflow.com/questions/2986951/can-you-cast-an-object-to-one-that-implements-an-interface-java –
[[誰かが "ClassCastException"を説明できるかどうかJava?](http://stackoverflow.com/questions/907360/can-someone-explain-classcastexception-in-java)(鋳造からのすべてのClassCastExceptionsは同じ原因によるものです) –