Android Studio技巧之【Extract Parameter】

快捷键

Ctrl + Alt + P (Windows/Linux上)

Cmd + Alt + P (OS X)

Android Studio 里抽取参数(Extract Parameter)的快捷方式

菜单调用

Menu → Refactor → Extract → Parameter。

描述

将方法中的一个变量提取转换为方法的一个参数,生成一个新的方法。

原来的变量值放到方法调用的地方,作为传进来的参数。

还可以保留原来的方法,用重载的方式生成一个新的方法。

使用

在写代码,有时需要将方法中的一个变量提取转换为方法的一个参数,就可以使用Ctrl + Alt + P (Windows/Linux上)快捷键。

看下图:

Android Studio技巧之【Extract Parameter】_第1张图片

现在要把getErrorMessage方法中定义的变量errorCode提取为该方法的一个参数。

1.将光标定位到errorCode上, 按Ctrl + Alt + P, 出现下图画面。

Android Studio技巧之【Extract Parameter】_第2张图片

2.在红框中是将要抽取的参数名,这里系统自动给出的是errorCode, 和原变量名一样。如果需要,我们可以修改. 在图上还有一个CheckBox可以选,如果选择,则是表示,我们要用重载的方式生成一个新的方法(Delegate via overloading Method)。这里我们不选,只是要将errorCode变量抽取为参数,让原来的不带参数的getErrorMessage()变成带参数的getErrorMessage(String errorCode)的方法,所以直接按Enter。

Android Studio技巧之【Extract Parameter】_第3张图片

从上图可以看到, 原来的getErrorMessage()方法变成了
getErrorMessage(String errorCode)。Android Studio将errorCode抽取为该方法的参数。

注意

原来的showMessage方法里的对getErrorMessage()的调用,Android Studio也自动为我们改为getErrorMessage("101")。 这样就保证了,修改了这个方法的定义后,所有对原方法的调用也都做相应的修改。

现在,再看一下用重载的方式抽取参数是什么样。这次我们将变量errorName也抽取为参数。

1、将光标定位到errorName上,按Ctrl + Alt + P

Android Studio技巧之【Extract Parameter】_第4张图片

这里可以直接点击Delegate via overloading method前面的CheckBox,也可以按
照屏幕上提示 - Press Ctrl+Alt+P to show dialog with more option, 继续按Ctrl + Alt + P" 。

这里我们按Ctrl + Alt + P。出现下面弹窗。

Android Studio技巧之【Extract Parameter】_第5张图片

2、点击Delegate via overloading method前面的CheckBox。

Android Studio技巧之【Extract Parameter】_第6张图片

3、点击Refactor键

Android Studio技巧之【Extract Parameter】_第7张图片

可以看到,有一个新的可以传入errorCode和errorName的两个参数的getErrorMessage方法生成了。而刚才生成的只带一个errorCode的getErrorMessage方法继续保留了下来。而相应的调用代码也做了相应的改动。最原先的程序功能一点都没有改变!

动画演示

Android Studio技巧之【Extract Parameter】_第8张图片
抽取参数

总结

如果要将方法中的变量抽取为方法的参数,将光标定位到该变量,按Ctrl + Alt + P(Windows/Linux上) ,Cmd + Alt + P(OS X),然后给出参数名即可。可以根据需要用重载的方式生成一个新的方法,同时保留原来的方法。

本文也发表在本人的CSDN技术博客上

长按识别下列二维码关注码客胡撸的微信公众号


Android Studio技巧之【Extract Parameter】_第9张图片

更多Android Studio技巧

Android Studio 技巧之【Extract Constant】

Android Studio 技巧之【Extract Method】

Android Studio技巧之【Extract Field】

Android Studio技巧之快速抽取变量【Extract Variable】

Android Studio技巧之【Extract Resource】

你可能感兴趣的:(Android Studio技巧之【Extract Parameter】)