Effective Java读书笔记--第5章 泛型

个人读书笔记,部分没读懂的知识点可能会简单概括或缺失,以后反复阅读后再完善。

第5章 泛型

第23条: 请不要在新代码中使用原生态类型

声明中具有一个或多个类型参数的类或接口,就是泛型。

使用原生态类型会在运行时导致异常。

Set<Object>是个参数化类型,表示可以包含任何对象类型的一个集合;

Set<?>则是一个通配符类型,表示只能包含某种未知对象类型的一个集合。

Set则是个原生态类型。

第24条: 清除非受检警告

@SuppressWarnings("unchecked")
可以掩盖警告。但使用时要加注释,说明为什么这么做是安全的。

第25条:列表优于数组

列表:List<Object>。 数组:Object[]。

利用数组,可以在运行时发现错误,但利用列表,在编译时已经发现错误了。

第26条:优先考虑泛型

使用泛型比使用需要转换类型的代码更加安全,也更加容易。

第27条: 优先考虑泛型方法

第28条: 利用有限制通配符来提升API的灵活性

有限制的通配符类型:Iterable<? Extends E>

第29条: 优先考虑类型安全的异构容器

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 泛型为集合提供了编译时类型检查。 23、不要在代码中使用原生态类型 声明中具有一个或多个类型参数的类或接口统称为泛...
    Alent阅读 943评论 6 2
  • 引言 创建和销毁对象 何时以及如何创建对象,何时以及如何避免创建对象,如何确保创建的对象能够被适时地销毁,以及如何...
    visionarywind阅读 3,357评论 2 10
  • Java1.5版本中增加了泛型。在没有泛型之前,从集合中读取到的每一个对象都必须进行转换。如果不小心插入了错误类型...
    塞外的风阅读 854评论 0 0
  • -1- 最喜欢周五周六,因为第二天休息,没有压力。可以随心所欲的做任何自己喜欢做的事,所以特别喜欢周五和周六。为什...
    王忆尘阅读 346评论 2 2
  • 昨晚在龙湖本部导账,回来后洗漱完已是凌晨一点,本来没什么感悟,只是看的文字多了,便觉得应该有些什么感悟,罢了,不...
    KAUNG阅读 127评论 0 0