黑马程序员--Java基础加强--13.利用反射操作泛型II【TypeVariable】【GenericArrayType】【WildcardType】【Type及其子接口的来历】【个人总结】

本文详细介绍了Java反射中的`GenericArrayType`、`TypeVariable`和`WildcardType`接口,以及它们在处理泛型数组、类型变量和通配符类型时的角色和方法。通过示例解析了`getGenericComponentType()`、`getActualTypeArguments()`和`getUpperBounds()`等关键方法,并探讨了Type接口及其子接口的起源和作用。
摘要由CSDN通过智能技术生成

利用反射操作泛型II----- 

GenericArrayType接口          TypeVariable接口 WildcardType接口 Type及其及接口的来历

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

1.    java.lang.reflect. GenericArrayType接口

1). GenericArrayType类型接口基本知识

(1). GenericArrayType接口的位置

GenericArrayType位于java.lang.reflect反射子包中。

(2). GenericArrayType接口类型的含义

表示泛型数组类型比如:void method(ArrayList<String>[] al){…}

【注意】<>不能出现在数组的初始化中,即new数组之后不能出现<>,否则javac无法通过。但是作为引用变量或者方法的某个参数完全可以的

(3). GenericArrayType接口的源码

public interface GenericArrayType extends Type {
   Type getGenericComponentType();
}

2). GenericArrayType接口的唯一的方法

获取泛型数组元素类型

[1]. 源码声明:Type getGenericComponentType();

【注意】无论从左向右有几个[]并列,这个方法仅仅脱去最右边[]之后剩下的内容就作为这个方法的返回值

[2]. 返回值类型:Type

分析为什么返回值类型Type

public static <E> E methodV(

String[] p1,

E[] p2,

ArrayList<E>[] p3,

E[][] p4){}

{1}. 对于String[],通过getComponentType()返回之后,脱去最右边的[]之后,剩余的类型是String因此对这个参数的返回类型是Class

{2}. 对于E[],通过getComponentType()返回之后,脱去最右边的[]之后,剩余的类型是E因此对这个参数的返回类型是TypeVariable

{3}. 对于ArrayList<E>[],通过getComponentType()返回之后,脱去最右边的[]之后,剩余的类型是ArrayList<E>因此对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值