2011-04-07 82 views
1

可能重复:
Dynamically loading a class in Java通过字符串在java中创建一个对象

喜 我试图创建一个获取字符串参数的方法,并返回的新对象一样的名字。即如果参数是“Mod”,该方法将返回新的Mod();

有没有办法做到这一点,没有很多的if语句? 谢谢!

+0

尝试使用的if else链? – babsher 2011-04-07 13:21:55

+1

java.lang.Class.forName(className) – amit 2011-04-07 13:22:00

+0

我相信这是[在Java中动态加载一个类]的副本(http://stackoverflow.com/questions/5571466/dynamically-loading-a-class-in -java)。 – 2011-04-07 13:22:12

回答

8

与反思:

/** 
* @param type A fully qualified Java type 
*/ 
public Object create(String type) throws Exception { 
    return Class.forName(type).newInstance(); 
} 

读相应的Javadoc来了解这是怎么回事

相关问题