java.lang.Class.getGenericSuperClass() 返回表示此Class所表示的實體(類,介面,基本型別或void)的直接超類的型別。
以下是java.lang.Class.getGenericSuperClass()方法的宣告
public Type getGenericSuperclass()
NA
此方法返回當前物件所表示的類的超類。
GenericSignatureFormatError -- 如果泛型類的簽名不符合Java虛擬機器規範中指定的格式,第3版。
TypeNotPresentException -- 如果通用超類指的是不存在的型別宣告。
MalformedParameterizedTypeException -- 如果通用超類指的是引數化型別不能被範例化理由。
下面的例子顯示java.lang.Class.getGenericSuperClass()方法的使用。
package com.yiibai; import java.lang.reflect.*; import java.util.ArrayList; public class ClassDemo { public static void main(String args[]) { // returns the superclass Type t = IntegerClass.class.getGenericSuperclass(); System.out.println(t); ParameterizedType p = (ParameterizedType)t; System.out.println(p.getActualTypeArguments()[0]); } } class IntegerClass extends ArrayList<Integer> { public IntegerClass() { // no argument constructor } }
讓我們來編譯和執行上面的程式,這將產生以下結果:
java.util.ArrayList<java.lang.Integer> class java.lang.Integer