我是靠谱客的博主 飞快小天鹅,最近开发中收集的这篇文章主要介绍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详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部