これを行う方法はありますか?それとも、クラスを作成して IJavaElement を実装する必要がありますか?
質問する
126 次
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 に答える