寫錯equals方法引起的空指標異常

2021-04-24 10:32:06 字數 410 閱讀 4169

首發原文:http://www.laozizhu.com/view.jsp?articleid=60

情景上這樣的:我有乙個重寫了equals方法的類,該類原始碼如下。然後用一程式將此類多次迴圈put到hashmap中去,但每次put到1500次左右時,就會出現nullpointerexception。

在map.put的方法中,會先去判斷put進去的物件是否已經存在於map中,判斷方法呼叫的就是該物件的重寫的equals方法,如果說 我寫的 equals有問題的話,為什麼前1000多次左右不會出現問題而在最後出現問題呢?起初以為是放到hashmap中的物件太大會出現記憶體溢位, 但並未出現outofmemory異常,用jprofiler進行監測時也發現和heap的使用也沒關係……有哪位兄弟幫我解釋一下……

下面是**,包括old**以及修改後的**

equals方法避免空指標的比較方法

首先看個例子 public static void main string args else 面的兩句不同的比較語句測試,第一句不出現空指標異常,第二句出現。所以在變數和常量比較的時候,一般把常量放在前面。為了避免空指標異常。但是我的問題是 變數在前時候,讀到變數,變數為空,就出現異常了。為什麼變...

null 與 equals判斷順序引起的頭疼事

寫了乙個方法,擷取字串的長度 public static string parseimagepath string path else return imagepath 標紅色 有問題。如果path null,那麼這個判斷就不起作用了,會報錯 剛開始,怎麼也想不通,已經在控制台上輸出了path nu...

NULL空記錄引起的查詢錯誤

我們執行一下 錯誤原因 原來是因為表sbqiye裡有空記錄,很容易讓人想到,是我們在把excel表匯入的時候導主了空記錄,這樣的空記錄,一般在表的最後面,我們開啟表sbqiye,定位到最後一條記錄 果然有兩條空記錄,這是罪魁禍首,只要把這兩條空記錄刪除,再次執行第乙個圖中的命令,就能正確查出記錄了。...