The diamond operator ("<>") should be used
Java 7 introduced the diamond operator (<>
) to reduce the verbosity of generics code. For instance, instead of having to declare a List
's type in both its declaration and its constructor, you can now simplify the constructor declaration with <>
, and the compiler will infer the type.
Note that this rule is automatically disabled when the project's java.source.version
is lower than 7
.
Noncompliant Code Example
List<String> strings = new ArrayList<String>(); // Noncompliant
Map<String,List<Integer>> map = new HashMap<String,List<Integer>>(); // Noncompliant
Compliant Solution
List<String> strings = new ArrayList<>();
Map<String,List<Integer>> map = new HashMap<>();