Javaソース解析TypeとType Varableインターフェース
2808 ワード
//Type java , 、 、 、 。
public interface Type
すべての既知の実装クラスは、GeneraicArayType、Parameterized Type、Type Varable、WildcardTypeがあります。//
public interface TypeVariable<D extends GenericDeclaration> extends Type
タイプ変数には、このタイプの変数の境界を示すTypeオブジェクトの配列を返します。getGeneraniDeclaration:GeneraicDeclarationオブジェクトに戻り、このタイプの変数を宣言する一般的な声明を表します。このタイプの変数の名前を返します。ソースコードに表示されます。例は以下の通りです
package reflect;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.lang.reflect.TypeVariable;
import org.jaxen.expr.NumberExpr;
public class ConstructorTest<T extends CharSequence> {
public static void main(String[] args) {
TypeVariable>[] t = ConstructorTest.class.getTypeParameters();
for(TypeVariable> m : t) {
/**
* , T
*/
System.out.println(m.getName());
/**
* , (extends), Object; ,
* & ( , extends ,
* , & )
*
*/
Type[] bounds = m.getBounds();
for(Type t1 : bounds) {
System.out.println(t1);
}
/**
*
* :class reflect.ConstructorTest
*/
System.out.println(m.getGenericDeclaration());
}
}
}