Since the introduction of generics in Java 5, the use of generic types such as ``++List<String>++`` is recommended over the use of raw ones such as ``++List++``. Assigning a raw type to a generic one is not type safe, and will generate a warning. The old ``++EMPTY_...++`` fields of the ``++Collections++`` class return raw types, whereas the newer ``++empty...()++`` methods return generic ones.


== Noncompliant Code Example

----
List<String> collection1 = Collections.EMPTY_LIST;  // Noncompliant
Map<String, String> collection2 = Collections.EMPTY_MAP;  // Noncompliant
Set<String> collection3 = Collections.EMPTY_SET;  // Noncompliant
----


== Compliant Solution

----
List<String> collection1 = Collections.emptyList();
Map<String, String> collection2 = Collections.emptyMap();
Set<String> collection3 = Collections.emptySet();
----

