我是靠谱客的博主 飞快小天鹅,这篇文章主要介绍Java源码GenericDeclaration详解,现在分享给大家,希望可以做个参考。

  • 反射包中有一个java.lang.reflect.GenericDeclaration接口,所有已知的实现类有Class、Constructor、Method:
//声明类型变量的所有实体的公共接口
public interface GenericDeclaration
  • 该接口中只有一个方法getTypeParameters:
/**
*返回声明顺序的TypeVariable对象的数组,这些对象表示由此GenericDeclaration对象表示的一般声明声明的类型变量;
*如果底层的一般声明未声明任何类型变量,则返回一个0长度的数组。
*抛出:GenericSignatureFormatError异常,如果此一般声明的一般签名不符合 
*Java Virtual Machine Specification, 3rd edition指定的格式。
*/
 public TypeVariable<?>[] getTypeParameters();
  • 声明类型变量的示例如下:
package reflect;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.TypeVariable;
//类型变量T
public class ConstructorTest<T> {

    public static void main(String[] args) {
        TypeVariable<Class<ConstructorTest>>[] t = ConstructorTest.class.getTypeParameters();
        for(TypeVariable<Class<ConstructorTest>> m : t) {
            System.out.println(m.getName());;
        }
    }
}

输出结果:

T

最后

以上就是飞快小天鹅最近收集整理的关于Java源码GenericDeclaration详解的全部内容,更多相关Java源码GenericDeclaration详解内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(133)

评论列表共有 0 条评论

立即
投稿
返回
顶部