2017-01-20 40 views
0

有沒有辦法解決代碼? -在Javapoet中,爲什麼「ClassName.bestGuess(」int「)」出錯?

for (FieldInfo fieldInfo : info.getResult()) { 
    result.addField(FieldSpec.builder(ClassName.bestGuess(fieldInfo.getClazz()),fieldInfo.getName()) 
      .addModifiers(Modifier.PRIVATE) 
      .build() 
    ); 
} 

fieldInfo.getClazz()返回 「INT」, 「浮動」,該代碼會拋出一個錯誤

java.lang.IllegalArgumentException異常:無法做出猜測INT

+0

你能分享一下'info'是什麼,並確認'FieldInfo'是'sun.reflect.FieldInfo'? – nullpointer

回答

0

Java的類型系統有許多種類型:類,數組,基元,參數化類型等。您使用的方法假定調用者想要一個ClassName而不是一個原語。爲此,使用TypeName.INT

相關問題