只有知道了某个技术不能做到什么,才能更好地做到所能做的。理解了边界所在,你才能成为程序高手。 ——P535
泛型是什么
为什么要用泛型
泛型解决了什么问题?
为什么要有泛型?
泛型的核心概念?
告诉编译器你想使用什么类型,然后编译器帮你处理一切细节。
泛型的使用和 Object 有什么不同?
泛型主要的目的之一就是用来指定容器要持有什么类型,而类型的检查由解释器来保证。
于Object来说,只能保证持有不同的类型,缺少了类型检查。
泛型的局限性
基本类型无法作为类型参数。不过,java SE5 具备自动打包和拆包功能,可以实现基本类型和对应包装器类型之间的转换,这个问题也就不再是问题了。
泛型的实现
泛型类
泛型接口
泛型方法
实现方式:将泛型参数列表置于方法返回值类型之前。
基本指导原则:尽量使用泛型方法。也就是说,如果用泛型方法可以取代讲整个类泛型化,那么就应该使用泛型方法。因为他可以让事情说的更明白。
特殊情况:static方法如果要泛化,必须也只能使用泛型方法的实现方式。因为 static 方法无法方位泛型类的类型参数。这个和 static 的原理有关。
