天天看點

Java反射異常:java.lang.NoSuchFieldException

        今天用反射給對象指派,有一個屬性始終報錯,主要錯誤資訊如下:

網上說nosuchfieldexception錯誤是由于沒有對應字段造成的,或者當屬性為私有時擷取field用的方法不是getdeclaredfield。

  field field = bo.getclass().getdeclaredfield(fieldname); // 正解

但是我的對象内确實是有otherfeatures屬性的,而且用的是上述方法,查了好久,終于找到原因:

otherfeatures曾經從文本讀取過,而文本裡的otherfeatures多了空格,如果仔細檢視,上面的異常也多了空格的!!!

so:nosuchfieldexception異常原因:①沒有對應字段;②屬性為私有時擷取field用的方法不是getdeclaredfield。

死死往這兩個方面去找原因吧。