generics「無検査キャストです」の回避方法
昨日の、うまくキャストできない問題が解決しました。
エラーメッセージ(「無検査キャストです」)で探したらたくさん見つかりました。
一番簡単な解決方法は、genericsクラスを継承させれば良いみたいです。
// genericsクラスを継承しただけのクラス //--- AValueVector.java --- package aoivm.java; import java.util.Vector; class AValueVector extends Vector<AValue>{}; //--- hoge.java --- // 以下のように書くとエラーになる Vector<AValue> ary = (Vector<AValue>)aval.value; // 継承したクラスにキャストすると成功 AValueVector ary = (AValueVector)aval.value;