使用提取方法快捷方式时,生成返回类型为void的Java IDE方法的原因

使用提取方法快捷方式时,生成返回类型为void的Java IDE方法的原因,java,eclipse,intellij-idea,ide,Java,Eclipse,Intellij Idea,Ide,我最近读了一个java类,其中的人通过IDE快捷方式(extract method快捷方式)创建了方法。所有方法的返回类型都为void,并且应该是返回类型的内容作为方法的输入参数传递。下面是我指的一个例子 public void multiply(Integer first, Integer second, Integer result){ result = first * second; } 我想知道以上是不是一种很好的做事方式。我个人不喜欢上述创建方法的方式。我认为方法应该如下所示

我最近读了一个java类,其中的人通过IDE快捷方式(extract method快捷方式)创建了方法。所有方法的返回类型都为void,并且应该是返回类型的内容作为方法的输入参数传递。下面是我指的一个例子

public void multiply(Integer first, Integer second, Integer result){
   result = first * second;
}
我想知道以上是不是一种很好的做事方式。我个人不喜欢上述创建方法的方式。我认为方法应该如下所示

public Integer multiply(Integer first, Integer second, Integer result){
   return first * second;
}
但在IntelliJ/Eclipse中,当我们提取方法时,大多数情况下会创建如上所述的方法


有人能告诉我为什么IDE在使用extract方法快捷方式时通常会创建void方法吗?第一种方法定义是一种好的实践吗?

如果调用的方法没有分配给变量,Eclipse无法知道返回值应该是什么

据推测,原始代码如下所示:

 public static void main(String args[]){
   Integer result = 0;
   multiply(1,3,result);
 }
Eclipse无法预测
multiply
应该返回任何内容,因此它默认为
void
。如果要推断返回值,请将其指定给如下变量:

 public static void main(String args[]){
   Integer result = 0;
   result = multiply(1,3,result);
 }

你能在提取前知道代码吗?