Java泛型 介绍

什么是Java泛型

在Java泛型在J2SE 5中引入处理类型安全的对象。它通过在编译时检测错误使代码稳定。

在泛型之前,我们可以在集合中存储任何类型的对象,即非泛型。现在泛型强制 Java 程序员存储特定类型的对象。

Java 泛型方法和泛型类使程序员能够分别通过单个方法声明指定一组相关方法,或通过单个类声明指定一组相关类型。

泛型还提供编译时类型安全,允许程序员在编译时捕获无效类型。

使用Java泛型的概念,我们可以编写一个对对象数组进行排序的泛型方法,然后调用带有Integer数组、Double数组、String数组等的泛型方法,对数组元素进行排序。

Java泛型的优势

泛型主要有3个优点。如下:

1)类型安全:我们只能在泛型中保存单一类型的对象。它不允许存储其他对象。

没有泛型,我们可以存储任何类型的对象。

List list = new ArrayList();    
list.add(10);  
list.add("10");  
With Generics, it is required to specify the type of object we need to store.  
List<Integer> list = new ArrayList<Integer>();    
list.add(10);  
list.add("10");// 编译错误

2)类型转换:不需要对对象进行类型转换。

在泛型之前,我们需要进行类型转换。

List list = new ArrayList();    
list.add("hello");    
String s = (String) list.get(0);//类型强制转换
After Generics, we don't need to typecast the object.  
List<String> list = new ArrayList<String>();    
list.add("hello");    
String s = list.get(0);    

3) 编译时检查:在编译时进行检查,因此在运行时不会出现问题。好的编程策略是在编译时处理问题比在运行时处理要好得多。

List<String> list = new ArrayList<String>();    
list.add("hello");    
list.add(32);//编译错误

 

热门文章

优秀文章