java.util.Collection
或 java.util.Map
的方法调用参数是集合或映射本身的情况。
这包括向自身添加集合,例如在自包含集合上调用 hashCode()
,这可能导致 java.lang.StackOverflowError
。
由于复制粘贴,原始类型的代码中可能会出现这种情况。
示例:
ArrayList list = new ArrayList<>();
list.add(list);
return list.hashCode(); // 抛出 StackOverflowException