Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中动态类添加的最佳方法_Java_Enums_Interface - Fatal编程技术网

Java中动态类添加的最佳方法

Java中动态类添加的最佳方法,java,enums,interface,Java,Enums,Interface,我有一个JavaEE应用程序,它可以控制许多其他应用程序 用户有一个插入搜索字符串的界面,该工具会检查许多其他应用程序中是否有该字符串,用户会得到一个窗口,在该窗口中可以看到其他工具的搜索结果 为此,我必须为每个应用程序编写搜索引擎,因为它们都有其他的请求方式(直接数据库、REST、SOAP,这无关紧要)。在顶部,我为每个搜索引擎设置了一个类,使用所有相同的方法(如isAlive、searchOne、searchList) 目前,我使用了一个枚举,其中我为引擎输入了一个值,在应用程序中显示了一个

我有一个JavaEE应用程序,它可以控制许多其他应用程序

用户有一个插入搜索字符串的界面,该工具会检查许多其他应用程序中是否有该字符串,用户会得到一个窗口,在该窗口中可以看到其他工具的搜索结果

为此,我必须为每个应用程序编写搜索引擎,因为它们都有其他的请求方式(直接数据库、REST、SOAP,这无关紧要)。在顶部,我为每个搜索引擎设置了一个类,使用所有相同的方法(如isAlive、searchOne、searchList)

目前,我使用了一个枚举,其中我为引擎输入了一个值,在应用程序中显示了一个字符串,以及上面提到的接口类的类名

因此,每当有人为另一个工具编写一个新的搜索引擎时,他必须使这个接口分类,以便将一个新的枚举值放入引擎的枚举中

没有别的(更好的)方法吗。也许注释可以完成这项工作,因此应用程序可以找到带有注释的每个类。直到现在我还没有做出自己的解释

如果有人能告诉我是否有比枚举和接口更好的方法,我会很高兴

致意
Daniel

枚举的困难在于,每次添加新vlaue时都需要重新编译它们。为了避免这种情况,您可能需要使用Java反射。Lookup Class.forName()和newInstance()可能会有所帮助。