
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
32 lines
745 B
Plaintext
32 lines
745 B
Plaintext
== Why is this an issue?
|
|
|
|
Method references are specialized lambda expressions for methods that already have a name. They take the form of ``++objectReference::methodName++`` or ``++ClassName::methodName++``. When a lambda does nothing but call an existing method, it can be much clearer to use a method reference instead.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,java]
|
|
----
|
|
Set roster = transferElements(rosterSource,
|
|
() -> { return new HashSet<>(); } // Noncompliant
|
|
);
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,java]
|
|
----
|
|
Set roster = transferElements(rosterSource, HashSet::new);
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
=== duplicates: S1612
|
|
|
|
endif::env-github,rspecator-view[]
|