[英]ClassCastException in Java 11 but not in Java 8 when using HashMap?
[英]Java ClassCastException when using ? extends
我得到了一个获取这种类型参数的方法:
NSArray<? extends FIRQueryDocumentSnapshot>
现在,当我取这个数组的一个元素时,我得到一个ClassCastException 。 我的方法:
public static List<AbstractWrapper> getWrapperList(Class<? extends IAbstractWrapper> wrapper, NSArray<? extends FIRQueryDocumentSnapshot> documentSnapshotArray){
List<AbstractWrapper> results = new ArrayList();
for(int i=0; i<documentSnapshotArray.size(); i++){
FIRQueryDocumentSnapshot doc = documentSnapshotArray.get(i);
results.add(getWrapper(wrapper,doc));
}
return results;
}
第 4 行中的错误
java.lang.ClassCastException:apple.NSObject 无法转换为 org.moe.binding.firebasefirestore.FIRQueryDocumentSnapshot
这可能是因为您从documentSnapshotArray.get(i)
获取的对象无法转换为FIRQueryDocumentSnapshot
,请通过以下方式验证
System.out.println(documentSnapshotArray.get(i) instanceof FIRQueryDocumentSnapshot);
// if true problem is something else but,
// if false then object you are getting is not a type of FIRQueryDocumentSnapshot
解决这个问题是:-
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.