Intellij方法类型迁移-更改对返回对象的调用

时间:2019-04-14 16:40:28

标签: java intellij-idea refactoring

我正在对从大量地方执行的方法getSomething()进行重构。该方法返回Type1,其成员将由getSomething()

的调用者访问
public Type1 getSomething() { 
   return new Type1();
}

Type1定义为:

public class Type1 {

   private String typeValue = "abc";

   public String getTypeValue() {
       return typeValue;
   }
}

最后是一些获取类型值的代码:

public void run() {
   Type1 t = getSomething();
   String v = t.getTypeValue();
}

我想在getSomething()上执行类型迁移以返回Type1的Optional:

public Optional<Type1> getSomething() {}

但是我还想创建某种规则来自动更新getSomething()的所有调用方,以从包装在Optional中的Type1中获取值,即:

OldType.getTypeValue()替换为NewType.get().getTypeValue();

因此,这将自动执行以下操作:

public void run() {
   Optional<Type1> t = getSomething();
   String v = t.get().getTypeValue();
}

我似乎无法在intellij中找到一种简单的方法。

1 个答案:

答案 0 :(得分:0)

目前,IDEA中没有此类工具可以提供所描述的行为。请遵循为您的问题创建的功能请求: https://youtrack.jetbrains.com/issue/IDEA-211032