[Effective Java]第五章 泛型】的更多相关文章

声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4255654.html 第五章      泛型 23.      请不要在新代码中使用原生态类型 声明中具有一个或者多个类型参数的类或者接口,就是泛型类或者泛型接口.泛型类和接口统称为泛型. 每种…
EFFECTIVE  JAVA  第十一章  系列化(将一个对象编码成一个字节流) 74.谨慎地实现Serializable接口 *实现Serializable接口付出的代价就是大大降低了“改变这个类的实现”的灵活性. *增加了出现Bug和安全漏洞的可能性.反系列化是一个“隐藏的构造器”,很难确保“由真正的构造器建立起来的关系” *增加了测试的负担 *transient关键字修饰的变量不会被初始化 *可以实现Externalizable接口来实现基于默认构造器的显示配置系列化  75.考虑使用自…
java 第五章   while 循环语句 语法:while(循环条件){ //循环操作 循环条件自加: } while循环结构的特点:先判断,在执行.    while   的执行步骤 (1) 声明并初始化循环变量 (2) 判断循环条件是否满足,如果满足则执行循环操作:否则退出循环. (3) 执行完循环操作后,再次判断循环条件,决定继续执行循环或退出循环. do-while循环 语法: do{ //循环操作 }while(循环操作);    与while相比do-while是先运行一遍在执行判…
(一)泛型概述 泛型不仅是C#编程语言的一部分,而且与程序集中的IL代码紧密地集成.泛型不仅是C#语言的一种结构,而且是CLR定义的.有了泛型就可以创建独立于被包含类型的类和方法了. 1.性能 泛型的一个主要优点就是性能.对值类型使用非泛型集合类,在把值类型转化为引用类型,和把引用类型转换为值类型时,需要进行装箱和拆箱操作. 下面的例子显示了System.Collections名称空间中的ArrayList类.ArrayList存储对象,Add()方法定义为需要把对象作为参数,所以要装箱一个整数…
背景 去年就把这本javaer必读书--effective java中文版第二版 读完了,第一遍感觉比较肤浅,今年打算开始第二遍,顺便做一下笔记,后续会持续更新. 1.考虑用静态工厂方法替代构造器 优点 静态工厂方法与构造器不同的第一大优势在于,他们有名称,比多个通过不同参数的构造器更具有辨识度. 静态工厂方法与构造器不同的第二大优势在于,不必在每次调用他们的时候都创建一个新对象. 静态工厂方法与构造器不同的第三大优势在于,他可以返回原返回类型的任何子类型的对象 服务提供者框架. ```java…
1 泛型 “泛型”意思就是适用于许多类型. 使用泛型的目的之一: 指定容器持有什么类型,让编译器确保正确性,而不是在运行期发现错误. 这个容器可以看成是有其他类型对象作为成员的类,而不单单只是JDK中的容器类. 2 简单的泛型 2.1 元组: 元组是对象,是一个将多个对象打包存储于其中的单一对象.Java中没有元组这个类库,Python中有元组这一概念. 可以通过泛型构建自己的元组类库. class TwoTuple<A,B>{ public final A first; public fin…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4255663.html 第六章      枚举和注解 30.      用enum代替int常量 枚举类型是指由一组固定的常量组成合法值的类型,例如一年中的季节或一副牌中的花色.在没引入枚举时,一…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4255671.html 第七章      方法 38.      检查参数的有效性 绝大多数方法和构造器对于传递给它们的参数值都会有某些限制.例如,索引值必须是非负的,对象引用不能为null等,这…
泛型的本质是参数化类型.只对编译器有效. 一.请不要在新代码中使用原生态类型 1.泛型类和接口统称为泛型,有一个对应的原生态类型. 2.原生类型的存在是为了移植兼容性. 3.无限制通配类型和原生态类型的区别是:通配符类型是安全的,原生态类型不安全.你可以将任何元素放入到原生态类型的集合中,但不能将除了null之外的其他任何元素放到Collection<?>中. 4.两条例外: a.在Class中只能使用原生态类型,因为泛型信息可以在运行时被擦除. b.在操作instanceof时,使用参数化类…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4255624.html 第四章      类和接口 13.      使类和成员的可访问性最小化 要区别设计良好的模块与设计不好的模块,最后重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏…