1. 程式人生 > 實用技巧 >遇到了一個想笑死(難受)的異常。Exception in thread “main” java.lang.NullPointerException

遇到了一個想笑死(難受)的異常。Exception in thread “main” java.lang.NullPointerException

(又是一個異常的一天)

描述

今天寫寫反射的時候遇到了一個想笑死的異常。Exception in thread “main” java.lang.NullPointerException
直譯過來就是:空指標異常,證明找不到,而找不到,就是引數不給對或者什麼


問題

請看程式碼:

沒有編譯器異常,但是就是報錯,整體看著也挺對,是不是這樣覺得,如果是這樣覺得,我告訴你,你錯了。

原因分析

起初我也自信的以為沒錯,但是異常是不會騙人的。 空指標異常,證明找不到,而找不到,就是引數不給對或者什麼。 然後我就通過debug找呀找。原來是引數給錯了,我當場傻了。這低階錯誤犯的我腦殼疼!

在這裡插入圖片描述

**上圖,**通過反射獲取的方法,執行invoker的引數(第一個是例項,第二個是例項需要傳入的引數),我眼花了,然後把ca這個方法當引數傳,當然必定會報錯,在晚上找了一些資料,但是都不是,我就寫了這篇文章。
前人栽樹後人乘涼,希望大家好好觀察程式碼,再遇到程式碼也不要像我一樣。


解決方案

invoke傳入的引數該為例項,不然會報空指標異常