在代码中出现了过多的三元运算符,并且每个三元运算符做的事情都一样, 如:
int result = a == null ? 0 : a;
为了更加简化代码我们提供了一个额外的方法用于替换以上这种三元表达式:
/**
* 当期望值为null时返回默认值
*/
public static <T> T getOrDefault(T expectValue, T defaultValue) {
return expectValue == null? defaultValue : expectValue;
}
那么我们在代码中只需要调用该方法即可替换三元表达式:
int result = getOrDefault(a, 0);
但是如果我们在几千行代码中一处一处进行修改,无疑是在搬砖,这个时候我们就需要通过文本替换的方式将符合规则的代码替换为指定的格式。
- IDEA中通过
Ctrl + R
打开文本替换窗口,并在该窗口中选中Regex
标签。 - 在待替换文本框中输入正则表达式,如
(\w*) == null \? 0 : \w*
- 在替换后的文本框中输入替换后的文本,如
getOrDefault($1, 0)
- 点击Replace all即可完成替换。
在IDEA中通过$index
进行获取分组,每个分组使用的符合和正则表达式中一样,都是使用小括号()。
如果要获取整个表达式匹配的内容可以使用$0
,如果要获取第一个分组则需要使用$1
,以此类推。