泛型是JDK 5引入的新特性,字面意思是“参数化类型”。
泛型给Java带来的改变:
- 为语言增加了新的语法糖。
- 改变了核心API的许多类和方法,比如Collection。
泛型的作用:
- 类型安全,可以创建以类型安全的方式使用各种类型数据的类,接口以及方法。
- 简化代码,不需要显式地进行强制类型转换,所有类型转换都是自动和隐式进行的。
- 代码复用,同一算法逻辑可以用于不同类型的数据。
一个简单的示例:
public class Generic<T> {
private T obj;
public Generic(T obj) {
this.obj = obj;
}
public void showType() {
System.out.println("Type is " +obj.getClass().getName());
}
public T getObj() {
return obj;
}
public void setObj(T obj) {
this.obj = obj;
}
}
public class GenericTest {
public static void main(String[] args) throws Exception {
Generic<Integer> testOne = new Generic<Integer>(100);
testOne.showType(); // Type is java.lang.Integer
Generic<String> testTwo = new Generic<String>("test");
testTwo.showType(); // Type is java.lang.String
}
}
网友评论