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++``.


== 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<>();
----


ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)

include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]
