![](/img/trans.png)
[英]Why do I get an error if I try to put values into a map in my view class?
[英]Why do I get a Runtime exception when I try to find values I just put in the hashmap?
有人可以向我解釋為什么以下代碼段引發運行時異常嗎?
int i = 0;
for ( ; i < TOTAL; i++ ) {
String value = "" + i;
int key = numbers[i];
map.put(key, value);
}
i = 0;
for ( ; i < TOTAL; i++ ) {
String value = "" + i;
int key = numbers[i];
String valueInMap = map.get(key);
if(valueInMap == null || !valueInMap.equals(value)) {
throw new RuntimeException("Impossible!");
}
}
這是整個程序,除了我用隨機數填充numbers[]
的部分。
我指的是throw new RuntimeException("Impossible!");
我得到這個例外
我用隨機數填充
numbers[]
。
您會得到一個例外,因為並非在numbers[]
中的TOTAL
項中的所有值都是唯一的。 發生這種情況時,新值將覆蓋舊值,因此在第二個循環中,您將得到錯誤的結果。
為了確保永遠不會發生這種情況,請將TOTAL
隨機值復制到HashSet<Integer>
然后再將其復制到numbers[]
數組中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.