私のクラスからオブジェクト型のリストを取得しようとしていますobjectCollectionジェネリック型を使用しています。しかし、私は私が私が正しくジェネリッククラスを使用していたと思ったはjava.lang.Classにキャストできません
MyClassのはjava.lang.Classの
にキャストすることはできませんというエラーがありました。これをどうやって解決するのですか?
@SuppressWarnings("unchecked")
public <T> ArrayList<T> getGameObj(ArrayList <T> obj) {
Class <T> objType = null;
while (objectIterator.hasNext()) {
objType = (Class<T>) objectIterator.getNext(); /* Error here */
if (objectIterator.getCurrent().getClass().isAssignableFrom(objType.getClass()))
obj.add((T) objectIterator.getCurrent());
}
return obj;
}
'objectIterator'とは何ですか? '@SuppressWarnings(" unchecked ")'を追加しないでください。あなたの 'if'チェックが失敗する状況は?現在の要素タイプがそれ自身から割り当て可能かどうかをテストしようとしているようです。 –
リストのような異なるオブジェクトタイプを格納するだけのものです – tuyenle
'objectIterator'はクラスのリスト、オブジェクトのリスト、または何か他のリストですか?どのように定義しますか? (私たちに定義を示してください。) – ajb