我有一个类,我想做一个内部类,有没有办法做到这一点,并更新所有的进口一样,当移动一个类使用Refactor菜单选项?目前:
Refactor
class A class B
我想达到的目标
class A { class B }
编辑:我使用的是Kotlin,它没有move to inner class选项,而Java类有。
move to inner class
70gysomp1#
您可以转到类B,在类名上插入一个插入符号,然后 Refactor|* 移动类 *,在打开的菜单中选择 *make inner class of * 字段中的A class:
所有从B类导入的内容将被删除到A类。
c86crjj02#
我用以下步骤模拟了重构。1.将B转换为A_B(或项目中唯一的其他名称)1.使A_B成为A的内部类(手动移动代码)1.在项目中使用“搜索和替换”将A_B替换为A.B1.通过对import full.package.name.A.B到import full.package.name.A执行另一次搜索/替换来修复导入语句第一步使后续的搜索和替换步骤不太可能破坏某些东西。如果您的项目包含Java代码,最后一步可能需要一些处理,因为在;上,import语句可能以一个通配符结束。
B
A_B
A
A.B
import full.package.name.A.B
import full.package.name.A
;
2条答案
按热度按时间70gysomp1#
您可以转到类B,在类名上插入一个插入符号,然后 Refactor|* 移动类 *,在打开的菜单中选择 *make inner class of * 字段中的A class:
所有从B类导入的内容将被删除到A类。
c86crjj02#
我用以下步骤模拟了重构。
1.将
B
转换为A_B
(或项目中唯一的其他名称)1.使
A_B
成为A
的内部类(手动移动代码)1.在项目中使用“搜索和替换”将
A_B
替换为A.B
1.通过对
import full.package.name.A.B
到import full.package.name.A
执行另一次搜索/替换来修复导入语句第一步使后续的搜索和替换步骤不太可能破坏某些东西。
如果您的项目包含Java代码,最后一步可能需要一些处理,因为在
;
上,import语句可能以一个通配符结束。