Note bulk methods in Javadocs for Collections.synchronizedXxx()

Roman Leventov at
Sat Dec 28 09:50:10 UTC 2019

I think Javadocs for Collections.synchronizedXxx() should mention not
only "traversing it via Iterator, Spliterator or Stream" as something that
must be synchronized externally, but also cases when a synchronized
collection is an argument to a bulk collection method, including:
 - new ArrayList(syncList), new HashSet(syncSet),  etc.
 - List.copyOf(syncList)
 - otherColl.addAll(syncList), otherColl.removeAll(syncList),

Though this is logically inferable, this is far from being obvious and

More information about the core-libs-dev mailing list