1、什么是泛型
泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例 如,继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即 传入实际的类型参数,也称为类型实参)。
泛型是一种参数化类型。
2、泛型的使用规则
泛型是jdk5.0出现,在之前的版本中是不能使用的;
泛型是需要写在一对中的;
泛型的类型必须是引用类型,不能是基本数据类型;
OSPod.CMS专业建站平台下载专业级别的大型网站建站产品,JAVA技术的CMS管理系统,ospod提供上百套专业模板供您选择,包括审批工作流,流量统计和流行网络应用,是公司企业建设专业网站的首选产品,也使用于专业建站人士完成复杂网站项目。管理地址cmsadmin登陆用户名:ospod 密码:ospod1234
如果是基本数据 类型,必须使用其包装类。如果有多个泛型类型,使用逗号分隔;
3、泛型应用实例
示例:
public class DAO{ private Map map = new HashMap<>(); public void save(String id,T entity){ map.put(id,entity); } public T get(String id){ return map.get(id); } public void update(String id,T entity){ map.put(id,entity); } public List list(){ Collection values = map.values(); List list = new ArrayList(); for (T value : values) { list.add(values); } return list; } public void delete(String id){ map.remove(id); } }
public class DAOTest {
public static void main(String[] args) {
DAO userDAO = new DAO<>();
User user1 =new User(1,12,"张三");
User user2 =new User(2,13,"李四");
User user3 =new User(3,14,"王五");
userDAO.save("1",user1);
userDAO.save("2",user2);
userDAO.save("3",user3);
System.out.println(userDAO.get("1"));
userDAO.update("1",new User(1,18,"张三"));
List list = userDAO.list();
System.out.println(list);
userDAO.delete("1");
System.out.println(userDAO.list());
}
}










