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

使用泛型解决需要动态返回类型的问题

下午的工厂模式需要解决一个问题,需要根据传入的类型返回相应的数据类型的对象,因为之前的方案需要返回Object这个万能对象,但是弊端就是在使用工厂模式的时候,进行向下转型,为了规避这个问题,可以使用泛型,来解决动态返回类型的问题,代码如下:

public static <T> T getService(Class<T> clazz,String serviceName){
try {
return (T)ServiceFactory.class.forName(properties.getProperty(serviceName)).newInstance();
} catch (Exception e) {
//deal exception
System.out.println("Factory error!!!\n"+e.getMessage());
}
return null;
}


相关文章:

  • 解决接收不到组播包的问题
  • Java @Override报错
  • 简单的汉化ECLIPSE的办法 [转]
  • 两个神奇的SQL语句
  • OPC客户端设计
  • 委托、Lambda表达式、事件系列07,使用EventHandler委托
  • 推荐一款 chrome SSH 插件 - Secure Shell
  • AngularJS中有关Directive的汇总
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • 复合格式化 AppendFormat 字符
  • BZOJ 2337 XOR和路径(高斯消元)
  • Adas术语简称
  • extern c 谈
  • 转载 一堂价值39万元的课,把她看完,你一定会有所获!
  • 关于centos联网的问题
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • crontab执行失败的多种原因
  • gcc介绍及安装
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • js如何打印object对象
  • JS学习笔记——闭包
  • Mithril.js 入门介绍
  • python学习笔记-类对象的信息
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 阿里研究院入选中国企业智库系统影响力榜
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 使用SAX解析XML
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • 进程与线程(三)——进程/线程间通信
  • ​Spring Boot 分片上传文件
  • #HarmonyOS:基础语法
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (Java)【深基9.例1】选举学生会
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (八)c52学习之旅-中断实验
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (离散数学)逻辑连接词
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (七)Java对象在Hibernate持久化层的状态
  • (十一)图像的罗伯特梯度锐化
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)母版页和相对路径
  • (转)拼包函数及网络封包的异常处理(含代码)
  • ***检测工具之RKHunter AIDE
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .net mvc部分视图
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .net6使用Sejil可视化日志
  • .Net开发笔记(二十)创建一个需要授权的第三方组件