是否有(更好的)动态创建对象的方法?
现在我正在使用一个简单的“工厂模式”解决方案,如下所示:
String classType = generalObject.getClass().toString();
if(classType.equals("class be.testApp.UserObject")) {
return UserObject.fromByteArray(data);
//return new UserObject();
}
else if(classType.equals("class.be.testApp.NewsObject")) {
return NewsObject.fromByteArray(data);
//return new NewsObject();
}
最佳答案
这段代码不是工厂模式,也没有创建对象。您评估类名并调用类的静态方法。
现在看起来您有一个对象 (generalObject
) 并且想要创建一个完全相同类型的新实例。 如果所有可能的类型都有一个公共(public)默认构造函数(约定!),那么您可以使用它来创建基于给定对象的新实例:
Object newObject = generalObject.getClass().newInstance();
(但也许我还是没明白你的意思……)
关于java - 在 Java 中动态创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4885055/