Why is this an issue?
Java 7 introduced the diamond operator (
<>) to reduce the verbosity of generics code. For instance, instead of having to declare
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
sonar.java.source is lower than
Noncompliant code example
List<String> strings = new ArrayList<String>(); // Noncompliant
Map<String,List<Integer>> map = new HashMap<String,List<Integer>>(); // Noncompliant
List<String> strings = new ArrayList<>();
Map<String,List<Integer>> map = new HashMap<>();