簡體   English   中英

Hashmap的get方法中的NullPointerException

[英]NullPointerException in Hashmap's get method

我在這一行有一個NullPointerException

 int qty = mSelectedBottles.get(bottleID);

我已經檢查過mSelectedBottlesbottleID都是null。

mSelectedBottles的類型為Hashmap<Integer, Integer>bottleID的類型為int

因為,將null值拆分為原始數據類型。 這里有足夠的代碼來自己重新創建NullPointerException

int x;
HashMap<String,Integer> map = new HashMap<String,Integer>();
x = map.get("hello");

不存在的值的自動拆箱是問題。

我們知道引入自動裝箱是為了使編碼更容易,但它是一種明確的性能反模式,並且可能導致像這樣的非常直觀的煩惱。

就個人而言,我總是嘗試通過明確地進行任何此類調用來刪除自動裝箱,因此盡管代碼有點丑陋,但它更清楚地發生了什么。

在將其拆箱到原始int之前,您必須檢查mSelectedBottles.get(bottleID)是否為null

來自Java Performance News Letter

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM