gpt4 book ai didi

java - 将私有(private)字段转换为常量

转载 作者:行者123 更新时间:2023-12-01 19:35:43 25 4
gpt4 key购买 nike

我有一个来自其他开发人员的设计糟糕的类,如下所示:

public class Clz {
private String SUPPOSED_TO_BE_CONSTANT_1 = "value 1";
private String SUPPOSED_TO_BE_CONSTANT_2 = "value 2";
private String SUPPOSED_TO_BE_CONSTANT_3 = "value 3";
//... And many more
}

我需要这些字段为 private static final FIELD; 。如何以自动化的方式实现相同的目标?

我已经尝试过了,

  • 提取常量
  • 更改签名

但没有任何效果。

注意:我正在使用 Intellij Idea/Android Studio IDE

最佳答案

如果我的理解正确(包括评论中的内容),您希望将所有 private String SUPPOSED_TO_BE_CONSTANT 替换为 private static Final String SUPPOSED_TO_BE_CONSTANT。我不知道 Intellij-IDEA 是否能够做到这一点,但您始终可以使用记事本(我使用 Notepad++)并用正则表达式替换它们。

用于查找应更改字段的正则表达式为:private String ([A-Z]\w+)(注意 A-Z 部分。它仅捕获假定的static final 以大写字母开头的字段)。

然后将其替换为private static final String\1

Notepad++(Ctrl+H 菜单)中的结果来自:

private String SUPPOSED_TO_BE_CONSTANT_1 = "value 1";
private String SUPPOSED_TO_BE_CONSTANT_2 = "value 2";
private String SUPPOSED_TO_BE_CONSTANT_3 = "value 3";

至:

private static final String SUPPOSED_TO_BE_CONSTANT_1 = "value 1";
private static final String SUPPOSED_TO_BE_CONSTANT_2 = "value 2";
private static final String SUPPOSED_TO_BE_CONSTANT_3 = "value 3";

最有可能的是,您将替换您不想替换的变量,但您始终可以调整正则表达式以适合您的情况。

关于java - 将私有(private)字段转换为常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57654344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com