我正在开发一个

Java语言的Web应用程序,它由一个系统和一些模块组成.所有这些都实现了IAppIdentifier接口,我将所有模块引用和系统本身存储在List中的系统中.

我们的想法是以这样的方式设计:如果每个模块具有所需的接口(从IAppIdentifier扩展),则每个模块都能够访问系统本身或其他模块,因此他们必须向系统询问它们.

我有这个代码有效:

@Override

public IAppIdentifier moduleByClass(Class extends IAppIdentifier> clazz) {

List iApps = this.get_Iapps();

for (IAppIdentifier iApp : iApps) {

if (clazz.isAssignableFrom(iApp.getClass())) {

return iApp;

}

}

return null;

}

基本上,它检查数组中的每个类是否可以从所需的接口分配,如果是,它将返回该实例.但问题是我必须在方法返回时抛出它.

例如,我必须实现类似的东西来获取系统的实例:

((ISystem) this.get_Service().moduleByClass(ISystem.class))

我的问题是,在java中是否有任何方法可以避免再次执行该转换,以确保它将返回与我在编译时作为参数传递的相同类型?

java类的实例参数传递_获取我正在通过参数传递的相同Java类实例相关推荐

  1. java jsp取静态常量_获取java静态

    Android NDK开发系列教程4:对类变量进行操作 终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 通常我们 ...

  2. java 多态判断非空_跳槽涨薪季面试题之java基础(一)

    点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 为迎接金九银十跳槽涨薪季,小编汇总了java精编版面试题,大概从java基础.java8特性.多线程.spring.springboot. ...

  3. java编程控制电脑硬件_如何快速学习AP计算机中的Java编程?

    AP Computer Science A (APCSA)考试,需要掌握Java编程语言.对于刚学习Java的同学,都应该了解Java编程语言的知识体系结构. 多编程零基础的高中生,在自学一段时间内, ...

  4. java.线程池 线程数_如何在线程“ main”中修复异常java.lang.NoClassDefFoundError:Java中的org / slf4j / LoggerFactory...

    java.线程池 线程数 此错误表示您的代码或您在应用程序中使用的任何外部库都在使用SLF4J库 (一个开放源代码日志记录库),但无法找到所需的JAR文件,例如slf4j-api-1.7.2.jar因 ...

  5. java二级考试真题_计算机等级考试真题2(JAVA)

    1. D (A)类属于JAVA语言的引用数据类型. (B)接口属于JAVA语言的引用数据类型. (C)数组属于JAVA语言的引用数据类型. (D)double不属于JAVA语言的引用数据类型. 2. ...

  6. java文件file字符集_获取文件字符集(或文件编码) 的工具类

    packageorg.mozilla.intl.chardet; importjava.io.BufferedInputStream; importjava.io.File; importjava.i ...

  7. java jnlp 靠谱吗_获取当前的JNLP信息

    有各种策略来实现预期目标 . 我不会重新审视那些已经提到过的,而是重复几个 . 1)信息可以放在档案的清单中 . 可以使用java.lang.Package类的方法检索它 . String title ...

  8. 取 java 程序运行的路径_获取Java程序运行的路径 | 获取当前jar包的路径

    经过试验,不管是否是Jar包,不管是否是Tomcat部署,以下三个方法均可实现. package test; public class MyPath { public static String ge ...

  9. java 得到bean的属性_获取javaBean所有属性及类型.doc

    获取javaBean所有属性及类型 获得javaBean 的所有属性及类型 程序功能定义 获得javabean所有属性及类型 仅仅是获得,赋值还没想到怎么弄. 目的 参考方法 目前还不知道有什么用. ...

最新文章

  1. SAP MM初阶事务代码MEK1维护PB00价格
  2. javascript设计模式学习日记--模板方法模式
  3. photoshop ps 拉长裙子 方法
  4. YOLO学习-3:ubuntu16.04+ yolov3(darknet)+GPU(nvidia 1080ti)+opencv2.4.11 摄像头测试实践
  5. 用unison来同步你的远程文件夹 - Fwolf's Blog
  6. SQL必知必会-约束
  7. 京东与中国石化全面深化战略合作 涉及能源供应服务等
  8. java swing 帮助文档,在Java Swing应用程序中创建在线帮助-使用pdf用户文档
  9. 如何给自选股票分组_手把手教你看盘界面如何设置
  10. 数据库:SQL数据查询(详细、全面)
  11. MMDetection2.XX-Necks之PAFPN(PANet)源码解析
  12. Java面向对象编程,绘制思维导图(全面详细整理)
  13. 正态分布方法判别,独立样本T检验及Mann-Whitney U 检验操作
  14. Windows文件保护简介
  15. 网络知识:水晶头网线和网线插座接法制作过程介绍
  16. Photoshop基础教程
  17. scrapy crawl爬取我爱我家二手房的数据
  18. devexpress html编辑器,DevExpress使用教程:富文本编辑器RichEditControl
  19. 视频去水印前端界面布局
  20. IDS入侵检测系统与开源IDS-snort的安装与编写规则

热门文章

  1. 时间序列多步预测_使用LSTM深度学习模型进行温度的时间序列单步和多步预测...
  2. DPDK服务核心(coremask)
  3. __attribute__ ((__pure__))
  4. 【转】使用 OpenSSL API 进行安全编程 - 创建基本的安全连接和非安全连接
  5. undefined reference to `kbhit'
  6. ncurses面板库:new_panel(),doupdate(),show_panel(),hide_panel(),move_panel(),del_panel()...
  7. python到包快捷键_如何最简单、通俗地理解Python的包?
  8. python处理pdf实例_python实现pdf转word的例子
  9. nodejs正则练习
  10. springboot多环境切换