IDEA重构技巧:更改签名
原创大约 2 分钟
IDEA重构技巧:更改签名
来看看如何安全地更改类或方法的签名。
我们在 BugReport
中的方法 binaryStrings
接受一个 String 参数:
public boolean binaryStrings(String b) {
Stack<Character> s = new Stack<>();
for (char c : b.toCharArray())
if (s.empty() || !s.peek().equals(c))
s.push(c);
else
s.pop();
return s.empty();
}
我们可以在方法 binaryStrings
中添加一个参数,例如,一个 int 类型的计数器。 同样,这也是一种就地重构,并将在间距区域中使用 R 图标高亮显示。 我们可以点击间距中的图标,更新方法签名,向参数添加默认值,以便让方法的任何调用者都使用默认值。
我们也可以在 macOS 上使用⌥⏎ 或在 Windows/Linux 上使用 Alt+Enter 更新方法签名并添加默认参数值。
我们也可以在 macOS 上使用 ⌘F6 或在 Windows/Linux 上使用 Ctrl+F6 调用 Change Signature 对话框更改法签名。 让我们添加一个布尔参数 state,默认值为 "true"。 我们也可以使用此对话框更改参数顺序。 它还可以选择通过重载进行委托。 重构后,方法将被重载。
public class MyMap {
int count = 0;
public int getCount() {
return count;
}
public void setCount(int Count) {
this.count = count;
}
public static void main(String[] args) {
MyMap myMap = new MyMap();
System.out.println(myMap.getCount());
}
}
我们可以使用这个 MyMap
类查看更改类签名对它的影响。 我们可以在 macOS 上使用 ⌘F6,或者在 Windows/Linux 上使用 Ctrl+F6 来修改类签名。 我们向其添加两个通用参数:一个名为 K
,默认值 Integer
;一个名为 V
,默认值 String
。 重构类后,MyMap
的用法将改变。
好了,今天的分享就到这里,如果这个小技巧对你有用,那就帮忙点赞、在看、分享、关注,四连支持一下吧!
如果你觉得这个系列还不错,可以关注我在连载的这个专栏:玩转IntelliJ IDEA,分享各种使用技巧与好用插件!