将方法参数重构为其成员函数的有效方法?

时间:2016-08-05 23:44:55

标签: java intellij-idea refactoring

编写Java时,我经常需要通过用对象函数的返回值替换对象来重构方法签名。例如:

我有一个最初这样编写的方法:

main() {
  foo(user);
}

private void foo(User user) {
    String userName = user.getName();
}

class User {
 String name;
 // getter and setter
}

过了一会儿,我意识到我可以直接传入userName:

main() {
   foo(user.getName());
}

private void foo(String name) {
   String userName = name;
}

问题:在intelliJ idea(2016.2.1)中,有没有有效的方法来进行这种重构?

1 个答案:

答案 0 :(得分:4)

将插入符号放在String userName =user.getName();上(它会提供不同的结果),然后按Refactor | Extract | Parameter(快捷键Ctrl + Alt + P