例:
new Thread(new Runnable() {
@Override
public void run() {
// スレッドを実行
}
});
クイックフィックス適用後:
new Thread(() -> {
// スレッドを実行
});
匿名クラスがステートレスなラムダに変換されると、Java ランタイムが後続の呼び出しで同じラムダのオブジェクトを再利用することができます。 一方、匿名クラスが使用される際には毎回別のオブジェクトが作成されます。 そのため、匿名クラスインスタンスが HashMap キーとして使用されているようなまれなケースでは、このクイックフィックスを適用した際にセマンティクスが変更される可能性があります。
匿名クラスが @FunctionalInterface アノテーションが付いていないインターフェースを実装する場合を無視するには、「インターフェースに @FunctionalInterface アノテーションがない場合に報告する」オプションを使用します。