これを行う方法はありますか?それとも、クラスを作成して IJavaElement を実装する必要がありますか?
1 に答える
3
任意の型のオブジェクトを他の任意のクラスまたはインターフェイス型にキャストすることはできません。
キャスト (ある非プリミティブ型から別の非プリミティブ型へのキャスト) は、魔法の自動変換を行いません。type のオブジェクトを type にキャストするときA、Bそれが意味することは、コンパイラに「ほら、Aここに type のオブジェクトがあるので、それを であるかのように扱ってほしいB; 型を与えないでください」と伝えることです。エラー、私はよく知っているからです」.
型チェックは引き続き行われますが、コンパイル時ではなく実行時に行われます。実行時にオブジェクトが ではないことが判明したB場合は、ClassCastException.
あなたが class について話していると仮定するとjava.lang.Class、いいえ、それをIJavaElement(それがどこから来ても)にキャストすることはできませIJavaElementんjava.lang.Class。キャストを実行しようとするとClassCastException、プログラムを実行すると が得られます。
于 2012-07-25T08:39:16.660 に答える