泛型[Generics]
1.问题
泛型:解决数据类型的问题
实现方法:目标类型化 的概念允许编译器推断泛型调用的类型参数。目标类型是编译器希望的数据类型,具体取决于用于实例化泛型对象的类型、表达式出现的位置等因素。
2.好处
- 1.更强的类型检查,可以避开运行时可能引发的
ClassCastException
可以节省时间 - 2.消除了类型转换,这意味着可以用更少的代码,因为编译器确切知道集合中存储的是何种类型
3.使用
- 1.类级别使用
- 2.方法级别使用
- 3.通过
extends
或super
关键字使用有界类型
- 4.单个泛型和多个泛型参数
- 5.问号(?)通配符可用于使用泛型代码表示未知类型,通配符可用于参数、字段、局部变量和返回类型
4.总结
有了泛型,我们可以使用更强的类型检查、无需进行类型转换,并且能够开发泛型算法。
没有泛型,我们今天在 Java 中使用的许多特性都不可能实现。
参考:
[ 1 ].https://www.oracle.com/technetwork/cn/articles/java/juneau-generics-2255374-zhs.html#
[ 2 ].https://docs.oracle.com/javase/tutorial/java/generics/index.htmlmark