- 选中要抽取的常量文本(字符串可以不用包含双引号),下图选中了字符串 some.content 内容(没有选双引号)

- 快捷键 ctrl+alt+c
或者鼠标右键菜单 Refactor ->Introduce Constant

- Inroduce Variable (Ctrl+Alt+V) :把选中的内容设置抽取为当前方法内的变量.
- Introduce Constant(Ctrl+Alt+C):把选中内容个抽取为静态常量 static final (可以连按两次快捷键打开更多设置)

- Introduce Field(Ctrl+Alt+F):把选中的内容设置为当前类的属性 static final(可以连按两次快捷键打开更多设置)

- Introduce Parameter(Ctrl+Alt+P):把选中的内容设置为方法的参数(可以连按两次快捷键打开更多设置)

-
会提弹出下图上面内容,当然如果idea提供的的常量名不满意,也可以自己修改下名称.

Replace all occurrences :替换所有存在的内容(应该是当前文件内,出现条件是该要抽取内容在本文件内出现多次才会有)
推荐勾选
Move to another class :把变量抽取到其他的类下,比如有特定的xxxxConstant类
根据自己项目结构自行选择是否勾选
idea会记录对于以上两项的勾选状态,反复使用时注意下上次记忆的勾选状态是否满足本次修改需求.(主要是针对Move to another class这项) -
回车确认后,就会在本文件类的前面生成如下代码
//Introduce Constant(Ctrl+Alt+C)
public static final String SOME_CONTENT= "some.content";
//其他三种效果
//Inroduce Variable (Ctrl+Alt+V) 把选中的内容设置抽取为当前方法内的变量.
//之前代码里"some.content"会被替换为s
String s = "some.content";
//Introduce Field(Ctrl+Alt+F)把选中的内容设置为当前类的static final属性
//之前代码里位置会被替换为 类名.s
private static final String s = "some.content";
//Introduce Parameter(Ctrl+Alt+P)把选中的内容设置为方法的参数
public void methodName(Object obj1){
String str = "some.content";
}
//变为
public String methodName(Object obj1,String s){
String str = s;
}
4713

被折叠的 条评论
为什么被折叠?



