如何将一些字符串转换为类名?

时间:2018-04-20 17:25:09

标签: java

我有一个ArrayList,这些是我的元素。

ArrayList<String> temporaryArray = new ArrayList<>();
Elements : soudjuk salami

我只是试着调用这个函数。

pizza.addTopping(new soudjuk(new salami()));

但是,我必须将这些字符串转换为类名。 我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

因此,您可以使用Class#forNamereflection来完成任务。

Class<?> clazz = Class.forName(className);
Constructor<?> cons = clazz.getConstructor(YourArgumentClass.class);
Object object = cons.newInstance(new Object[] { yourArgumentObject });
  

注意:类名必须是fully qualified名称(带有的类名)   包名称。)

答案 1 :(得分:1)

您可以使用Class.forName静态方法。

Class<?> classType = Class.forName(className);
  

className param必须是合格的类名。例如:   com.package.class

此外,

您还可以尝试loadClass()方法。

ClassLoader load;
Class myClass = load.loadClass(name);