编写高质量代码:改善Java的151个建议八(泛型和反射)93

本文深入探讨了Java泛型的工作原理,包括类型擦除、泛型参数限制及泛型类型的使用规范。同时,文章还介绍了Class类的作用、反射机制的基础用法,以及如何高效地利用反射访问属性和方法。

该书籍PDF下载地址:http://download.youkuaiyun.com/download/muyeju/10001473

93.java的泛型是类型擦除的

  Java的泛型类型在编译期被擦除

94.不能初始化泛型参数和数组

95.强制声明泛型的实际类型

98.泛型建议采用的顺序List<T>,List<?>,List<Object>

  List<T>,T表示某个具体的类型,可以进行读写操作,

  List<?>:只能进行读操作,不能添加和修改

  List<Object>:可以进行读写,但是写操作要向上转型,读操作要向下转型

99.严格限定泛型类型,采用多重限定

  通过&设置多重边界

101.Class类

  java语音是先把java文件编译成后缀为class的字节码文件,然后通过ClassLoader机制把这些类文件加载到内存中,最后生成实例执行的,这是java的基本机制。

102.适时使用getDeclaredXxx和getXxx方法

  getDeclaredXxx:是获得所有public的访问级别的方法,包括从父类继承的方法,

  getXxx:是获得自身类的方法,包括公有和私有方法

103.反射访问属性和方法的时候将Accessible设置为true

  

  Accessible属性只是用来判断是否需要进行安全检查,如不需要,可以直接执行,这可以大幅度提升性能。

104.使用forName动态加载文件

  forName只是加载类,并不会执行任何代码。加载类的时候,类加载机制会去执行static代码块和static属性

105.通过反射操作数组使用Array类,不要采用通用的反射处理

 

转载于:https://www.cnblogs.com/-scl/p/7656909.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值