更新时间:2025-08-19 GMT+08:00
分享

内联为匿名类

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

执行重构

  1. 在代码编辑器中,将光标放在用户想要内联为匿名类的类的声明位置。
  2. 单击右键展示上下文菜单,选择重构 > 内联为匿名类...
  3. 在打开的“内联为匿名类”对话框中,选择是否在所有内联位置完成后保留该类。如下图所示:

    图1 内联为匿名类

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

示例

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

重构前

“com\refactoring\source\InlineAnonymousClazz.java”文件内容如下:

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

重构后

“com\refactoring\source\InlineAnonymousClazz.java”文件内容如下:

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

相关文档