【发布时间】:2013-11-21 00:46:14
【问题描述】:
在 java 中,我有一个修改列表内容的方法。是不是更好用:
public List modifyList(List originalList) { // note - my real method uses generics
// iterate over originalList and modify elements
return originalList;
}
还是做以下更好:
public void modifyList(List originalList) {
// iterate over originalList and modify elements
// since java objects are handled by reference, the originalList will be modified
// even though the originalList is not explicitly returned by the method
}
注意 - 这两种方法的唯一区别是返回类型(一个函数返回 void,另一个返回 List)。
【问题讨论】:
-
这主要是见仁见智。一方面返回列表可以允许方法链接。但它也混淆了方法签名。有点相关:Benefits and drawbacks of method chaining and a possibility to replace all void return parameters by the object itself
-
@RichardTingle - 我同意这有点主观,但我想知道是否有一个很好的论据反对一个选项或另一个可能会使我的代码在未来更难维护。
-
你想要方法链吗?如果不是,那么第二个肯定会更好,因为它不会使您看起来像将 originalList 纯粹用作输入而不是修改它
-
在您定义“更好”之前,此问题纯属意见。
标签: java