泛型是java在编译时期提供的一种数据类型安全监测机制
例如我们创建一个List集合
ArrayList list = new ArrayList();
,如果集合当中有String类型的数据、有Integer类型的数据,如果我们历遍list集合对每一个元素都统一进行操作,运行时有可能就会出现异常,因为可能String有的方法Integer不一定有,因此会报错。
而如果我们使用泛型创建集合:ArrayList<String> list = new <String>ArrayList()
;指定了list集合只能加入String类型的数据。
`
如果一个类,它的成员变量在声明的时候我们不确定数据类型,也可以使用泛型。
public class User <T> {
T t;
public User(T t) {
this.t = t;
}
}
User user1 = new User<String>("张三");
User user2 = new User<Integer>(20);