初学泛型类和通配符

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快捷键,自动补全变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值