深入探究泛型类和方法
1. 引言
在编程中,我们常常会有这样的需求:希望编写一个单一的排序方法,能够对整数数组、字符串数组或者任何支持排序的数组元素进行排序;也希望编写一个单一的栈类,能够存储整数栈、浮点数栈、字符串栈或者其他任何类型的栈。同时,我们还期望在编译时就能检测到类型不匹配的问题,也就是实现编译时类型安全。例如,如果一个栈只能存储整数,那么尝试将一个字符串压入该栈时,就应该在编译时抛出错误。而泛型,特别是泛型方法和泛型类,为我们提供了创建上述类型安全通用模型的方法。
2. 泛型方法的动机
重载方法常用于对不同类型的数据执行相似的操作。为了引出泛型方法,我们先来看一个包含重载 printArray 方法的示例:
// Fig. 20.1: OverloadedMethods.java
// Printing array elements using overloaded methods.
public class OverloadedMethods {
public static void main(String[] args) {
// create arrays of Integer, Double and Character
Integer[] integerArray = {1, 2, 3, 4, 5, 6};
Double[] doubleArray = {1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7};
Character[] characterArray
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



