2017-01-03 17 views
1

我有一个像如何使用反射

“Someform”一个JSON在Java中获取类引用名:“Somebuilder”

。我已经解析了JSON和Someform检索值下面。

String formBuilder = pageJson.getString(“Someform”);

现在formBuilder包含“Someform”参考。

如何获得这个Someformclass的类名。 我使用了如下的反射

String className = formBuilder.getClass()。getSimpleName();

上述说法是给我String类名不是因为formBuilder的someform类名是String类。 如何获得动态的someform类名称,以便我可以将此作为参数传递给

Class builderName = Class.forName(className);

并调用该类中的方法。更确切地说,我需要为像someForm.class而不是String类的Someform获取类名。

任何帮助,将不胜感激。 TIA。

+0

那不是只是'的Class.forName(formBuilder)',还是我误解了问题? – Zircon

+0

这里''Someform“:”Somebuilder“,'Somebuilder'看起来不像一个合格的类名: – davidxxx

+0

是的大卫你是对的我没有指定完全合格的名字。是否有任何方式来决定包名运行时,这将解决我的问题,我希望 – Pradeep

回答

1

如果formBuilder是你想要的类的名称,你可以这样做:

Class builderName = Class.forName(formBuilder); 
+0

嘿我已经试过这个Class.forName(formBuilder); Class.forName将采用完全限定的名称如果我使用它,它会抛出ClassCastException – Pradeep