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 sonar.java.source
is lower than 7
.
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<>();