声明的T可以出现多个
在类定义处声明的泛型,则用来指定这个类用来处理的对象类型,这个类中定义的所有方法,只要使用了类定义处声明的泛型参数,则都必须使用同一个对象,否则,编译就会出现错误
如果仅仅是在方法声明处定义泛型,则表示这个方法的参数或返回值使用什么类型的数据,解决的问题
1.不再需要强制转型;
2.编辑器增加了强制检查集合中的对象类型的功能,避免了在Girl的集合中出现Boy对象的问题(虽然有的时候是我们所期待的)
如:
public class Query{
private T t;
public T get(){...};
public void set(T t){...};
}
如果使用的方式如下:
Query query = new Query();
则上面定义的类与下面的定义一致
public class Query{
private User t;
public User get(){...}
public void set(User t){}
}
在类定义处声明的泛型,则用来指定这个类用来处理的对象类型,这个类中定义的所有方法,只要使用了类定义处声明的泛型参数,则都必须使用同一个对象,否则,编译就会出现错误
如果仅仅是在方法声明处定义泛型,则表示这个方法的参数或返回值使用什么类型的数据,解决的问题
1.不再需要强制转型;
2.编辑器增加了强制检查集合中的对象类型的功能,避免了在Girl的集合中出现Boy对象的问题(虽然有的时候是我们所期待的)
如:
public class Query{
private T t;
public T get(){...};
public void set(T t){...};
}
如果使用的方式如下:
Query query = new Query();
则上面定义的类与下面的定义一致
public class Query{
private User t;
public User get(){...}
public void set(User t){}
}