14.1泛型好处的体现
- 能对加入到集合 ArrayList中的数据类型进行约束 2) 如果没有泛型,遍历的时候,需要进行类型转换, 如果集合中的数据量较大,对效率有影响
14.2类型推断
Map<String,Integer> map = new HashMap<>();
14.3泛型在继承方面的体现
虽然类A是类B的父类,但是G<A> 和 G<B> 二者不具备子父类关系,二者是并列关系。 List<Object> List<String>
补充:类A是类B的父类,A<G> 是 B<G> 的父类 List<String> ArrayList<String>
14.4通配符的使用
通配符:?
类A是类B的父类,G<A>和G<B>是没有关系的,二者共同的父类是:G<?>
14.5泛型的应用
public class DAO<T> {
public void add(T t){
}
public boolean remove(int index){
return false;
}
public void update(int index,T t){
}
public T getIndex(int index){
return null;
}
public List<T> getForList(int index){
return null;
}
public <E> E getValue(){
return null;
}
}
public class Customer {
}
public class CustomerDAO extends DAO<Customer>{
}
public class DAOTest {
@Test
public void test1(){
CustomerDAO dao1 = new CustomerDAO();
dao1.add(new Customer());
List<Customer> list = dao1.getForList(10);
}
}