こんにちは、このコードブロックがなぜ機能しないのか誰かが私に説明できますか?ArrayListをHashMapに入れた後のJava StackOverflowError
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)
...
例外のスタックトレースを貼り付けてください。 –
'list.add(list);'が原因である可能性があります。 –
次のリンクを参照してください。http://docs.oracle.com/javase/7/docs/api/java/util/ConcurrentModificationException.html –