1.泛型类/接口 class user<T>{ } interface user<T>{ } 注意:泛型类的子类可以是泛型类或一般类, 2.泛型方法 public <T> T user(T t){ } <T>泛型声明,T返回值/参数类型 注意:静态方法和静态变量在创建对象前就完成了构建,不依赖类的实例,不能在其中使用类的泛型 3.ORM思想(object relational mapping) 数据库中的一个表与Java中的一个类对应 表中的一条记录与java中的一个对象对应 表中的一个字段(或列)与java类中的一个属性(或字段)对应 4.DAO:data(base) access object.内部封装了操作数据库相关表的增删改查操作。 5.ArrayList<Object>和ArrayList<String>是两个不同的类,没有关系 List<String>与ArrayList<String>有关,可以将ArrayList<String>类型的实例赋值给SuperA<G>类型的引用 6.ArrayList<Object>和ArrayList<String>是两个不同的类,有时候会使复用性降低,引入通配符后,代码更加灵活 ①ArrayList<?> 可以将ArrayList<Object>和ArrayList<String>都赋值给ArrayList<?>; 允许读取数据(get),不允许写入add(特例null); ②List< ? extends A >:可以将List<A>或List<B>赋值给List< ? extends A>.其中B类是A类的子类。 允许读取数据(get),不允许写入add(特例null); ③List< ? super A >:可以将List<A>或List<B>赋值给List< ? extends A>.其中B类是A类的父类。 允许读取数据(get),允许写入add(特例null); 可以通过向上转型类认识
Set<Map.Entry<String, User>> set = dao.map.entrySet(); for (Map.Entry entry : set ){ System.out.println(entry.getKey() + " " + entry.getValue()); } 输出map中的元素 方式二 Set<Map.Entry<String, User>> entries = dao.map.entrySet(); Iterator<Map.Entry<String, User>> iterator = entries.iterator(); while(iterator.hasNext()){ Map.Entry<String, User> m1= iterator.next(); System.out.println(m1.getKey() + " " + m1.getValue()); }
map的key--value输出,加上泛型初学还真是有点懵。 幸亏idea中有alt+enter快捷键,自动补全变量