![](/img/trans.png)
[英]Java: ClassCastException - java.lang.Class cannot be cast to
[英]“Cannot be cast to java.lang.Class”, namely: which type is not a class
這似乎是一個愚蠢的問題(因為它可能是非常特定於項目的),但在這種情況下,它已足夠普遍:
我正在運行一段代碼,該代碼給出了ClassCastException
,並以我寫為標題的錯誤消息出現。 這里提到的類型轉換是從類型為java.lang.reflect.Type
的對象到Class<?>
。
除了原始類型,Java中的哪種類型不是類?
謝謝你的回答
Class
是Type
但Type
不一定是Class
,因為Class
實現Type
。
基本上,您的myType
也可以是GenericArrayType
, ParameterizedType
, TypeVariable
或WildcardType
接口的任何實現類,因為它們都擴展了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.