跳至主要內容

IDEA重构技巧:更改签名

DD编辑部原创IntelliJ IDEAIntelliJ IDEA大约 2 分钟

IDEA重构技巧:更改签名

来看看如何安全地更改类或方法open in new window的签名。

我们在 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 对话框更改open in new window法签名。 让我们添加一个布尔参数 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,分享各种使用技巧与好用插件!

上次编辑于:
贡献者: 程序猿DD