2017-01-03 71 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