作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨,我正在制作一个程序,该程序接收一个字符串作为输入,并根据该字符串创建一个类的实例。
问题是我的程序将来可能会有新的类,我希望当这种情况发生时我不必对我的代码进行太多更改,所以我想避免使用 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/
我是一名优秀的程序员,十分优秀!