在 IntelliJ 或 Android Studio 中重构时如何将静态变量从 class 移动到另一个 class?

How to move static variables from a class to another class when refactoring in IntelliJ or Android Studio?

假设 Class A 有一些静态参数:

public Class A {
    public static final String KEY_1="key1"
    public static final String KEY_2="key2"
    ...
}

静态参数在项目中重复使用。重构时,我想将它们移动到另一个class,比如Class B;但这样做我必须更新它们的每个用例,例如A.KEY_1B.KEY_2,手动。

有什么方法可以在 Android Studio 或 IntelliJ 中自动执行此操作? 我已经尝试过的是选择包含参数的行并按 F6 打开一个重构对话框,但通过它并没有让我得到我想要的。

IntelliJ 确实 擅长重构。将插入符号放在要移动的常量上并执行以下操作:

  1. 重构 -> 移动(使用默认键绑定,也可以通过按 F6 来完成)。
  2. 您将看到一个对话框,询问您要将其移动到的 class 的完全限定名称(别担心 - 只需开始输入,IntelliJ 就会为您自动完成)和一个菜单选择要分配给 variable/constant.
  3. 的可见性修改
  4. 单击 "Refactor" 按钮
  5. 尽情享受