0
我試圖選擇一些名爲保存在哈希集中的元素。我在HashSet的迭代用foreach稱爲元素,如通過哈希集迭代Java中的StackOverflow異常
for(Element e: elements).
這些被選中的單元在ArrayList<Element> el
處理。
其實我前一陣子沒有任何問題。該方法從單元測試中傳遞。然後,突然間,我開始爲該方法獲得stackoverflow例外。我調試了。我看到一些奇怪的事情發生在那裏。
我正在填充一個ArrayList並且元素的迭代完成。最後,該方法必須返回數組列表。但是,它開始通過將arraylist設置爲空來重新設置哈希集。我不明白爲什麼會發生這種情況。我已經編程了2年,這是我第一次看到這個奇怪的東西。
下面是代碼,如果你想看看:
public ArrayList<Element> addNextLeftElements(Element firstEl, HashSet<Element> elements, ArrayList<Element> el) {
for (Element nextEl : elements) {
if (!nextEl.equals(firstEl)) {
if (nextEl.overlaps(firstEl, ac.absPrecision)) {
el.add(nextEl);
} else {
for (double dis = 16.0; dis <= 18.1; dis += 0.1) {
if (nextEl.transOverlap(firstEl, dis, ac.absPrecision)) {
if (!el.contains(firstEl)) {
el.add(firstEl);
}
}
for (int displus = 9; displus <= 11; displus++) {
if (nextEl.transOverlap(firstEl, dis, ac.absPrecision)) {
if (!el.contains(firstEl)) {
el.add(firstEl);
}
}
}
}
}
}
}
return(el);
}
在此先感謝
我面對android系統中的任何建議同樣的問題來解決問題? –