参考
java泛型详解
特性
参数化类型
分类
泛型类、泛型接口、泛型方法
优点
安全,提高代码重用率
se1.5之前做法
package com.example.generics;
/**
* @author changshengee
* @date 2018/07/26
**/
public class PreviousGen {
private Object object;
public PreviousGen(Object object) {
this.object = object;
}
public Object getObject() {
return object;
}
public void setObject(Object object) {
this.object = object;
}
public void showType() {
System.out.println(object.getClass().getName());
}
public static void main(String[] args) {
Integer num = 5;
PreviousGen previousGen = new PreviousGen(num);
previousGen.showType();
//使用强制类型转换,容易出现ClassCastException
Integer i = (Integer) previousGen.getObject();
System.out.println("value=" + i);
}
}
SE1.5之后-简单的泛型方法
package com.example.generics;
/**
* @author changshengee
* @date 2018/07/26
**/
public class PreviousGen<T> {
private T t;
public PreviousGen(T t) {
this.t = t;
}
public T getT() {
return t;
}
public void setT(T t) {
this.t = t;
}
public void showType() {
System.out.println(t.getClass().getName());
}
public static void main(String[] args) {
Integer num = 5;
PreviousGen<Integer> previousGen = new PreviousGen(num);
previousGen.showType();
Integer i = previousGen.getT();
System.out.println("value=" + i);
}
}