最近,我正在阅读一个Java类,该人员已通过IDE快捷方式(提取方法快捷方式)创建了方法。所有方法的返回类型均为void,并且将本应为返回类型的内容作为该方法的输入参数传递。以下是我所指的示例。
setmetatable ( _G, { __index = function ( t, k ) return k end } )
print ( foo ) -- prints the string "foo"
foo = 5
print ( foo ) -- prints 5
print ( bar ) -- prints the string "bar"
我想知道上面是否是做事的好方法。我个人不喜欢上述创建方法的方式。我认为方法应该像下面这样。
public void multiply(Integer first, Integer second, Integer result){
result = first * second;
}
但是在IntelliJ / Eclipse中,当我们提取方法时,大多会创建上述方法。
有人可以让我知道为什么当我们使用extract方法快捷方式时,IDE通常会创建void方法吗,并且方法定义的第一种样式完全是一种好习惯吗?
答案 0 :(得分:0)
如果未将要调用的方法分配给变量,则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);
}