gpt4 book ai didi

java - 如何在不进行多个开关和 if 的情况下创建基于字符串的类的实例?

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

嗨,我正在制作一个程序,该程序接收一个字符串作为输入,并根据该字符串创建一个类的实例。

问题是我的程序将来可能会有新的类,我希望当这种情况发生时我不必对我的代码进行太多更改,所以我想避免使用 if 或 switch 链。

例如,如果我收到“Class1”作为输入,我想创建该类的实例

但如果将来我希望能够创建“Class2”的实例,我不想通过在开关上添加新的 if 或新的 case 来更改以前的代码。

有办法做到这一点吗?

最佳答案

您需要使用Reflection API。

你的字符串也将包含包的完整路径

String yourClassPathPackage = "com.your.class.path.YourClass";
YourClass = (YourClass) Class.forName(yourClassPathPackage).newInstance();

关于java - 如何在不进行多个开关和 if 的情况下创建基于字符串的类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19958886/

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