gpt4 book ai didi

java - 在 Java 中动态创建对象

转载 作者:行者123 更新时间:2023-11-29 06:45:59 24 4
gpt4 key购买 nike

是否有(更好的)动态创建对象的方法?

现在我正在使用一个简单的“工厂模式”解决方案,如下所示:

   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/

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