Java学习笔记:利用泛型动态的返回不同的类 |
您所在的位置:网站首页 › 返回类型为接口 › Java学习笔记:利用泛型动态的返回不同的类 |
环境
前言
最近在做代码迁移时,想写这么一个方法,我传入什么对象,其就返回什么对象; 传入的对象有继承关系,在处理完相应逻辑后,就返回该对象; 比如有如下两个类: ExaminationBindBO |___________ExaminationPkgBindBO我希望我得到的效果是: ExaminationPkgBindBO pkgBindBO = new ExaminationPkgBindBO(); ExaminationBindBO bindBO = new ExaminationBindBO(); ExaminationPkgBindBO bindBO = saveProductChannel(Lists.newArrayList(pkgBindBO)); ExaminationBindBO bindBO = saveProductChannel(Lists.newArrayList(bindBO));关键saveProductChannel()这个方法怎么写? 一开始时间紧,没想出来,只写成了返回值为void的方法; // 上界通配符 public void saveProductChannel(List request) { // 处理业务逻辑 }后面闲下来又研究了下; 动态的返回不同的类 public T saveProductChannel(List request) { // 处理业务逻辑 return request.get(0); }如果想更动态的返回: public List saveProductChannel(Class request) { List t = null; try { t = request.getDeclaredConstructor().newInstance(); } catch (Exception e) { e.printStackTrace(); } return t; }后面在查阅资料中有了个疑问: 为什么方法参数中上界通配符只能写成这样 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |