第21条:用函数对象表示策略
有些语言支持函数指针,代理,表达式,或者支持类似的机制,允许程序把“调用特殊函数的能力”储存起来并传递这种功能
第22条:优先考虑静态成员类
-
嵌套类
- 是指被定义在另一个类的内部类
嵌套类有4种:静态成员类、非静态成员类、匿名类和局部类
第5章:泛型
Java1.5发行版本中增加了泛型(Generic)。在没有泛型之前,从集合中读取到的每一个对象都必须进行转换。如果有人不小心插入了类型错误的对象,在运行时的转换处理就会出错。有了泛型之后,可以告诉编辑器每个集合中接受哪些对象类型。编辑器自动的为你的插入进行转化,并在编译时告诉是否插入了类型错误的对象。这样可以使程序更加安全,也更加清楚。
第23条:请不要在新代码中使用原生态类型
声明中具有一个或多个类型参数的类或者接口,就时泛型类或者接口
第24条:消除非受检报告
用泛型编程时会遇到许多编译器警告:非受检强制转换警告、非受检调用方法警告、非受检普通数组创建警告、非受检转换警告
要尽可能的消除每一个非受检警告
如果无法消除警告,同时可以证明引起警告的代码类型是安全的
第25条:列表优先于数组
数组与泛型相比,有两个重要的不同点,数组是协变的,相反,泛型则是不协变的
数组与泛型之间的第二大区别在于:数组是具体化的,泛型则是通过擦除来实现的
第26条:优先考虑泛型
第27条:优先考虑泛型方法
第28条:利用有限制的通配符来提升API的灵活性
java提供了一种特殊的参数化类型称作有限制的通配符类型