The Java Collections framework defines interfaces such as java.util.List
or java.util.Map
. Several implementation classes
are provided for each of those interfaces to fill different needs: some of the implementations guarantee a few given performance characteristics, some
others ensure a given behavior, for example immutability.
Among the methods defined by the interfaces of the Collections framework, some are declared as "optional": an implementation class may choose to
throw an UnsupportedOperationException
when one of those methods is called. For example, java.util.Collections.emptyList()
returns an implementation of java.util.List
which is documented as "immutable". Calling the add
method on this object
triggers an UnsupportedOperationException
.
What is the potential impact?
Issues of this type interrupt the normal execution of a program, causing it to crash or putting it into an inconsistent state. Therefore, this
issue might impact the availability and reliability of your application, or even result in data loss.