2016-03-28 101 views
0

我正在使用java web框架(Vraptor),我遇到了以下問題:框架使用Reflection來實例化控制器參數,並且由於某種原因其中一個參數正在回升<java.lang.NullPointerException>getDeclaredConstructors()返回java.lang.NullPointerException

我的問題是:該框架通常工作一段時間,由於某種原因,我想實例化類型的「cachedConstructor」填充<java.lang.NullPointerException>而不是預期的。有什麼可能做出這種改變?

如果框架是這樣做的,我不問,我只是想知道什麼可以在Java中

getClassType().getDeclaredConstructors() is return java.lang.NullPointerException (returning, not throwing) 

回答

1

最有可能getClassType做到這一點()函數返回一個空值。如果您通過代碼進行調試併爲值輸入一些控制檯輸出,則會看到哪個值將返回爲空值。如果需要,在使用對象之前做一些空值檢查。

請參閱What is a NullPointerException, and how do I fix it?

+0

事情是,我不能做檢查,因爲這是框架的內部代碼。 getClassType()不返回null,getDeclaredConstructors返回java.lang.NullPointerException(非null) –

+0

是的,因爲類類型幾乎肯定是null。或者getDeclaredConstructors()方法內部的東西返回null。但更可能的是getClassType()方法返回null。這意味着你試圖在null上得到DeclaredConstructors(),這引發了NullPointerException。如果沒有看到更多的代碼,那麼很難確定null是從哪裏來的。你將這個「框架」代碼傳遞給那些試圖獲得類/構造函數的代碼是什麼?它可能是一個類名錯誤,或者類路徑中缺少的東西。 – ManoDestra

+0

我知道這可能會引起混淆,但getDeclaredConstructors調用並沒有像我說的那樣拋出一個預期,getClassType正在返回期望的類型,但getDeclaredConstructors是返回java.lang.NullPointerException(不是拋出),就像它返回expect的構造函數(或類似的東西) –

相關問題