繁体   English   中英

“无法转换为java.lang.Class”,即:哪种类型不是类

[英]“Cannot be cast to java.lang.Class”, namely: which type is not a class

这似乎是一个愚蠢的问题(因为它可能是非常特定于项目的),但在这种情况下,它已足够普遍:

我正在运行一段代码,该代码给出了ClassCastException ,并以我写为标题的错误消息出现。 这里提到的类型转换是从类型为java.lang.reflect.Type的对象到Class<?>

除了原始类型,Java中的哪种类型不是类?

谢谢你的回答

ClassTypeType不一定是Class ,因为Class实现Type

基本上,您的myType也可以是GenericArrayTypeParameterizedTypeTypeVariableWildcardType接口的任何实现类,因为它们都扩展了Type接口。

尝试打印myType.getClass()以查看您的意思是类型:您将获得Class<TheSaidType>

Type的Javadoc中,您可以看到它具有许多实现类型。

All Known Subinterfaces:
    GenericArrayType, ParameterizedType, TypeVariable<D>, WildcardType

All Known Implementing Classes:
    Class 

子接口是使用内部数据结构类实现的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM