Effective Java 学习笔记(25)
2010-07-26 00:08
405 查看
优先使用列表,而不是数组。
数组与泛型相比,有两个重要的不同点。1.数组的类型可以向上转型,即如果sub为super的子类型,那么数组类型的sub[]就是super[]的子类型,相反,泛型则是不可变的。
2.数组是会在运行时才知道并检查它们的元素类型约束,会抛运行时异常,而泛型只在编译时强化类型信息,并在运行时丢弃。从技术上说,泛型是不可具体化的,即运行时包含的信息比它编译时更少。
一般说来,数组和泛型不能很好地混合使用。如果得到编译时错误或者警告,第一反应应该是用列表代替数组。
数组与泛型相比,有两个重要的不同点。1.数组的类型可以向上转型,即如果sub为super的子类型,那么数组类型的sub[]就是super[]的子类型,相反,泛型则是不可变的。
2.数组是会在运行时才知道并检查它们的元素类型约束,会抛运行时异常,而泛型只在编译时强化类型信息,并在运行时丢弃。从技术上说,泛型是不可具体化的,即运行时包含的信息比它编译时更少。
一般说来,数组和泛型不能很好地混合使用。如果得到编译时错误或者警告,第一反应应该是用列表代替数组。
相关文章推荐
- Effective Java学习笔记:复合优先于继承
- Java:Effective Java 学习笔记(第49条:基本类型优先于装箱基本类型)
- JAVA学习笔记Day25——动态接口的实现
- Effective Java 学习笔记(四、五)
- Effective Java 学习笔记(19)
- Effective Java 学习笔记(13)
- effective Java 学习笔记(三)
- Effective Java 学习笔记 1
- Effective Java 学习笔记(第46条:for-each循环优先于传统的for循环)
- Effective Java 学习笔记(第62条:每个方法抛出的异常都要有文档)
- Effective Java 学习笔记(20)
- Effective Java 学习笔记(23)
- effective-java 学习笔记 覆写hashCode
- Java学习笔记(25)--继承(extends)详解
- 我的Effective Java 学习笔记(一)
- Effective Java 学习笔记(第64条:努力使失败保持元子性)
- Effective Java 学习笔记(2)
- Effective Java-学习笔记(6-9章)
- Effective C++ 学习笔记(25)
- Effective Java 学习笔记(14)