gpt4 book ai didi

java - Java中基于外部xml的运行时类实例化

转载 作者:行者123 更新时间:2023-11-30 11:09:05 24 4
gpt4 key购买 nike

我有一个 xml 文件,其中包含我要解析并读入我的程序的数据,以便我可以实例化一个类。

问题是,我想实例化哪个类直到运行时才知道。

我的 xml 将有点​​像下面这样。

<dataitem class="FooClass">
<dataitem class="BarClass">

类将共享一个公共(public)接口(interface)。目前,我让 Factory 在做类似下面的事情。

public class FooBarFactory {
FooBarInterface makeClass(String s){
if(s.equals("FooClass")){
return new FooClass();
}
if(s.equals("BarClass")){
return new BarClass();
}
}

实际上,工厂可以返回很多潜在的类。有没有一种方法可以在不必为每个可能的类使用条件语句的情况下获得这种行为?如果不是,我的想法是否正确,或者是否有更好的方法?

最佳答案

public class FooBarFactory {
FooBarInterface makeInstance(String s) {
return Class.forName(s).newInstance();
}
}

我没有显示它,但您需要处理一些已检查的异常,例如 ClassNotFoundExceptionIllegalAccessExceptionInstantiationException

关于java - Java中基于外部xml的运行时类实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28271362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com