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

news/2024/7/7 14:55:08 标签: java

该书籍PDF下载地址:http://download.csdn.net/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


http://www.niftyadmin.cn/n/1175074.html

相关文章

ospf DN-BIT位

ospf DN-BIT位 在上一期问鼎OSPF中&#xff0c;我们介绍了OSPF特殊区域的设立&#xff0c;以及这些特殊区域中可以使用的LSA。从前几期的介绍中&#xff0c;我们知道&#xff0c;OSPF拥有一个最为人津津乐道的能力&#xff0c;就是能够计算出无环的路由。不管是区…

2021-08-30matlab2019b,,旋转物体,旋转矩阵。下次结合IMU进行旋转

%完成选择一个空的坐标轴、、、、 % Create a 3-D plot ax axes(XLim, [-5 5], YLim, [-5 5], ZLim, [-5 5]); xlabel(ax, X-axis); ylabel(ax, Y-axis); zlabel(ax, Z-axis); % % Reverse the 2 axis directions to match the device coordinate system %set(ax, Zdir, rever…

svn api

为什么80%的码农都做不了架构师&#xff1f;>>> http://www.subversion.org.cn/svnbook/1.4/svn.developer.usingapi.html http://www.subversion.org.cn/svnbook/1.4/svn.webdav.html http://en.wikibooks.org/wiki/XForms/Versioning_Form_Data_With_WebDAV_and_…

%# Eval( ).的各种写法

1.<%# Eval("flag") 判断输出 <%# Eval("flag").ToString() "1" ? "1" : (Eval("flag").ToString() "2") ? "2" : (Eval("flag").ToString() "3") ? "3" : …

2021-08-31matlab2019B --serial---DIYIMU06.m

%完成选择一个空的坐标轴、、、、202108301530 %完成添加串口&#xff0c;读取yaw,pitch,roll三个角度&#xff0c;让坐标旋转; %暂时做一个轴的三个角度&#xff0c;帧格式&#xff1a;0x21,yaw,pitch,roll,0x0D,0x0A % Create a 3-D plotclc clear close all global RecData…

给VC++6.0加快捷注释和取消注释

首先在根目录下找到你的vc6.0&#xff0c;我的是在c盘的一个叫MSDev98的文件夹里&#xff0c;打开文件夹后&#xff0c;在Macros文件夹中有下面的文件&#xff1a;找到之后&#xff0c;先新建一个文本框&#xff0c;并命名为comment.dsm&#xff0c;最开始的时候&#xff0c;我…

Recycle的使用

首先导入依赖将以下的依赖包粘贴到Build.gradle的最后一个括号里面并将重复的删除 compile com.android.support:mediarouter-v7:25.0.0compile com.android.support:appcompat-v7:25.0.0compile com.android.support:recyclerview-v7:25.0.0然后同步代码再打开以下博客进行htt…

代码大全--第六章--可以工作的类

2019独角兽企业重金招聘Python工程师标准>>> 类是由一组数据和子程序构成的集合&#xff0c;这些数据和子程序共同拥有一组内聚的、明确定义的职责。类也可以只是由一组子程序构成的集合&#xff0c;这些子程序提供一组内聚的服务&#xff0c;哪怕其中并未涉及共用的…