ECS:从Classname动态创建特定对象

时间:2015-02-10 20:27:23

标签: java reflection

我希望根据XML文件中的Component创建特定类型的String

可以使用

完成
clazzName = "NameComponent";
Class.forName("my.package.x.y.z." + clazzName).newInstance();

在应用程序中,我循环遍历clazzNames

列表

然而,一旦param-constructors发挥作用,这就变得相当复杂。特别是如果所有内容都存储在XML文件中。

是否有更简洁的方法,无需提供包信息,也不必担心构造函数参数?

我愿意接受有关不同技术的建议而不是XML,如果它允许我使用适当的参数而不需要该类的包信息。

1 个答案:

答案 0 :(得分:0)

编译后,包是类名的一部分。如果您不了解包裹,那么您就不知道班级名称。如果有两个类具有相同的"短名称"在两个不同的包中?

如果有构造函数参数,那么不能创建实例而不传递它们的值。