Since the introduction of generics in Java 5, it is recommended to use generic types such as List<String> instead of raw ones
such as just List. Assigning a raw type into 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.
Developers will also more easily find the emptyIterator() and emptyListIterator() methods for which there is no field
equivalent if they are used to call the methods.
List<String> collection1 = Collections.EMPTY_LIST; Map<String, String> collection2 = Collections.EMPTY_MAP; Set<String> collection3 = Collections.EMPTY_SET;
List<String> collection1 = Collections.emptyList(); Map<String, String> collection2 = Collections.emptyMap(); Set<String> collection3 = Collections.emptySet();