mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
32 lines
1005 B
HTML
32 lines
1005 B
HTML
<html>
|
|
<body>
|
|
Reports anonymous classes which can be replaced with lambda expressions.
|
|
<p>Example:</p>
|
|
<pre><code>
|
|
new Thread(new Runnable() {
|
|
@Override
|
|
public void run() {
|
|
// run thread
|
|
}
|
|
});
|
|
</code></pre>
|
|
<p>After the quick-fix is applied:</p>
|
|
<pre><code>
|
|
new Thread(() -> {
|
|
// run thread
|
|
});
|
|
</code></pre>
|
|
<p>
|
|
Note that if an anonymous class is converted into a stateless lambda, the same lambda object
|
|
can be reused by Java runtime during subsequent invocations. On the other hand, when an anonymous class is used,
|
|
separate objects are created every time. Thus, applying the quick-fix can cause the semantics change in rare cases,
|
|
e.g. when anonymous class instances are used as <code>HashMap</code> keys.
|
|
</p>
|
|
<!-- tooltip end -->
|
|
<p>
|
|
Use the <b>Report when interface is not annotated with @FunctionalInterface </b> option to ignore the cases in which an anonymous
|
|
class implements an interface without <code>@FunctionalInterface</code> annotation.
|
|
</p>
|
|
</body>
|
|
</html>
|