簡體   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