【发布时间】:2012-05-03 06:05:08
【问题描述】:
你好,谁能解释一下为什么这段代码不起作用?
ArrayList<Object> list = new ArrayList<Object>();
list.add(list);
HashMap<Object, Integer> map = new HashMap<Object, Integer>();
map.put(list, 1);
在我将列表放入地图后,它会抛出 StackOverFlowError。
我知道这段代码没有任何意义,我只是想知道为什么它不起作用。
谢谢!
编辑:
堆栈跟踪:
Exception in thread "main" java.lang.StackOverflowError
at java.util.ArrayList.get(Unknown Source)
at java.util.AbstractList$Itr.next(Unknown Source)
at java.util.AbstractList.hashCode(Unknown Source)
at java.util.AbstractList.hashCode(Unknown Source)
...
【问题讨论】:
-
请粘贴异常的stacktrace
-
list.add(list);可能是根本原因。
标签: java arraylist hashmap stack-overflow