11、Java反射与泛型的深入解析及应用

Java反射与泛型的深入解析及应用

1. 反射类型与可具体化类型

反射使程序能够获取可具体化的类型信息。每个类标记都对应一个可具体化的类型。若尝试反射参数化类型,会得到对应原始类型的可具体化信息。例如:

List<Integer> ints = new ArrayList<Integer>();
List<String> strs = new ArrayList<String>();
assert ints.getClass() == strs.getClass();
assert ints.getClass() == ArrayList.class;

在这个例子中,整数列表类型和字符串列表类型都由同一个类标记表示,即 ArrayList.class

1.1 getClass方法

编译器对 getClass 方法有特殊处理。一般来说,如果表达式 e 的类型为 T ,那么表达式 e.getClass() 的类型为 Class<? extends |T|> ,其中 |T| 是类型 T 的擦除结果。示例如下:

List<Integer> ints = new ArrayList&l
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值