AptuSource

为什么使用泛型

简单来说,泛型就是在定义类、接口和方法的时候,允许将类型作为参数。这有点像方法声明中的形参,类型参数让你能够使用不同的输入参数重用相同的代码。

代码中使用了泛型会带来以下好处:

更为强壮的编译时类型检查

Java 编译器将会对泛型代码进行强类型检查,并且代码如果违反了类型安全,编译器将会报错。修复编译时错误比修复运行时错误更容易,因为运行时错误比较难以定位。

消除强制类型转换

不使用泛型,下面的代码需要进行强制类型转换:

List list = new ArrayList();
list.add("hello");
String s = <strong>(String)</strong> list.get(0);

使用泛型进行重写,代码不需要进行强制类型转换:

List<String> list = new ArrayList<String>();
list.add("hello");
String s = list.get(0);   // no cast

允许开发者实现泛型算法

通过使用泛型,开发者可以实现工作于不同类型的泛型算法,可以自定义,并且类型安全和易于阅读。