当前位置: 首页 > news >正文

泛型的PECS原则

文章目录

  • 泛型的PECS原则
    • Producer extends
    • Consumer supper
    • 示例

泛型的PECS原则

PECS(Producer extends Consumer supper)原则是用来帮助我们判断何时使用 ?extends T, 何时使用 ?super T的。

Producer extends

当这个泛型类是生产者,生成东西给我们读取的时候,我们使用 ? extends T。因为这样生成的东西,也就是我们读取的东西都是T的子类,我们可以很方便地使用T类型地变量接收而不会出错。

Consumer supper

当这个泛型类是消费者,也就是我们要向这个类写入数据的时候,我们使用 ?supper T,因为这样我们可以控制写入的数据永远都是T的父类,我们只要写入的数据都是T类型也就不会出错。

示例

public static <T> copyList(List<? supper Number> target, List<? extends Number> source){for(int i=0;i<source.size();i++){target.add(source.get(i));}
}

上面的示例就是将source列表的值全部复制到target列表中,source是生产者,target是消费者。

相关文章:

  • Docker 安装 Oracle 12C
  • React中修改 state 时必须返回一个新对象 (immutable update)
  • 基于数据库实现配置管理和定时任务启停
  • 常见Modbus协议面试问题
  • 强化微调技术与GRPO算法(1):简介
  • 农田实时监测与管理系统开发
  • map()函数
  • IteraJudge-增量多维评判框架解读
  • 第十节 高频代码题-类型推断题
  • NXP S32K146 T-Box 携手 SDNAND(贴片式 TF 卡):驱动汽车智能革新的黄金组合
  • 接口测试不再难:智能体自动生成 Postman 集合
  • 计算机系统(6)
  • 翻译核心词汇
  • 软考-计算机硬件组成
  • 微信小程序渗透测试指北(附案例)
  • 小结:Spring AOP 切点表达式
  • python-生日悖论
  • OpenCV——图像金字塔
  • std::make_shared简化智能指针 `std::shared_ptr` 的创建过程,并提高性能(减少内存分配次数,提高缓存命中率)
  • 第30节 Node.js C/C++ 插件
  • html购物网站怎么做/网络seo软件
  • bae做网站/深圳全网推广托管
  • 浩森宇特北京网站建设/百度关键词优化专家
  • wordpress主题不显示图片/aso榜单优化
  • 浙江网站建设制作流程/自己做网站的流程
  • b2b建站系统/合肥网站推广公司哪家好