原文鏈接http://zhhll.icu/2020/08/17/java%E5%9F%BA%E7%A1%80/%E5%8F%8D%E5%B0%84/%E5%8F%8D%E5%B0%84%E4%B9%8BType/
Type類
Type介面是所有型別的父介面,有四個子介面和一個實作類,

-
Class類比較常見,表示的是原始型別,表示的Java類在JVM里表現為一個Class物件
-
ParameterizedType表示的是引數化型別,如List
這種帶有泛型的型別, ParameterizedType介面中常用的方法有三個,分別為
-
Type getRawType() 回傳引數化型別中的原始型別,如List
的原始型別為List -
Type[] getActualTypeArguments() 獲取引數化型別的型別變數或是實際型別串列,如List
的引數化型別串列為String,對于Map<String,Integer>中引數化串列為String和Integer -
Type getOwnerType() 回傳的是型別所屬的型別,這個所屬型別就像是 Map.Entry<K,V>的所屬型別是Map<K,V>
-
-
TypeVariable表示的是型別變數,用來反應在JVM編譯該泛型前的資訊,例如List
中T就是型別變數,它在編譯時需要被轉換為一個具體的型別后才能正常使用, 該介面有三個常用的方法,分別為:
-
Type[] getBounds() 獲取型別變數的上邊界,如果沒有明確宣告上邊界則默認為Object,class Test
中K的上邊界就是Person -
D getGenericDeclaration() 獲取宣告該型別變數的原始型別,例如class Test
中的原始型別就是Test -
String getName() 獲取在原始碼中定義的名字,例如class Test
中為K
-
-
GenericArrayType表示的是陣列型別且組成元素是ParameterizedType或TypeVariable,例如List
[]或T[] - 該介面只有一個方法,Type getGenericComponentType() 回傳陣列的組成元素型別
-
WildcardType表示的是通配符泛型,例如 ? extends Number 和 ? super Integer
- Type[] getUpperBounds() 回傳泛型變數的上邊界
- Type[] getLowerBounds() 回傳泛型變數型別的下邊界
由于本身的博客百度沒有收錄,博客地址http://zhhll.icu
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/248419.html
標籤:其他
上一篇:【老孟Flutter】為什么 build 方法放在 State 中而不是在 StatefulWidget 中
下一篇:《追風箏的人》書摘與筆記
