0

これを行う方法はありますか?それとも、クラスを作成して IJavaElement を実装する必要がありますか?

4

1 に答える 1

3

任意の型のオブジェクトを他の任意のクラスまたはインターフェイス型にキャストすることはできません。

キャスト (ある非プリミティブ型から別の非プリミティブ型へのキャスト) は、魔法の自動変換を行いません。type のオブジェクトを type にキャストするときABそれが意味することは、コンパイラに「ほら、Aここに type のオブジェクトがあるので、それを であるかのように扱ってほしいB; 型を与えないでください」と伝えることです。エラー、私はよく知っているからです」.

型チェックは引き続き行われますが、コンパイル時ではなく実行時に行われます。実行時にオブジェクトが ではないことが判明したB場合は、ClassCastException.

あなたが class について話していると仮定するとjava.lang.Class、いいえ、それをIJavaElement(それがどこから来ても)にキャストすることはできませIJavaElementjava.lang.Class。キャストを実行しようとするとClassCastException、プログラムを実行すると が得られます。

于 2012-07-25T08:39:16.660 に答える