更新时间:2024-04-12 GMT+08:00
分享

内联到匿名类

这个重构操作允许您用其内容替换多余的类。从Java 8开始,内联的匿名类可以自动转换为lambda表达式。

执行重构

  1. 在代码编辑器中,将光标放在您想要内联为匿名类的类的声明位置。
  2. 在主菜单或编辑器上下文菜单中,选择Refactor>Inline to Anonymous Class
  3. 在打开的Inline to Anonymous Class对话框中,选择是否在所有内联位置完成后保留该类。

  4. 单击 Refactor以应用重构操作。

示例

举个例子,让我们将类MyComparator内联并删除。生成的匿名类将自动转换为lambda表达式。

重构前

class InlineAnonymousClazz {
    public class MyComparator implements Comparator<String> {
        @Override
        public int compare(String s1, String s2) {
            return 0;
        }
    }

    void sort(List<String> scores) {
        scores.sort(new MyComparator());
    }
}

重构后

class InlineAnonymousClazz {
    void sort(List<String> scores) {
        scores.sort((s1, s2) -> 0);
    }
}

相关文档