在我的程序中,我處理類和基本類型。 如果程序發現的一類,它只是將執行下列操作的呼叫的一個:如何用Javassist獲取原始類型的類?
Class.forName(classname)
cc.toClass()
其中cc
是CtClass
一個實例。然而,如果它發現一個基本類型,事情變得更糟:
Class.forName
不可用,它不能使用與原始類型。cc.toClass()
回報null
它可以從原始類型的包裝類調用TYPE
場,但我怎麼能與反思辦呢?
這裏是我的代碼:
CtClass cc;//Obtained from caller code
Class<?> classParam;
if (cc.isprimitive()) {
classParam= ?? // How can I get TYPE field value with reflection ?
} else {
String nomClasseParam = cc.getName();
if (nomClasseParam.startsWith("java")) {
classeParam = Class.forName(nomClasseParam);
} else {
classeParam = cc.toClass();
}
}
了Javassist 3.12.0.GA
編輯: 我已經張貼在下面的anwsers the solution I chose。 無論如何,我打勾Tom's answer。
這個問題肯定會有幫助:[boolean.class?](http://stackoverflow.com/questions/1019208/boolean-class) –
@Andreas_D沒多少,因爲我想用java反射來執行調用。 – Stephan
,但是當我們反映方法和構造函數時,我們可以使用'boolean.class','int.class'等等作爲'Class'對象。 –