我在遗留代码中看到了以下内容:
public void someFunction(List myList){
List myList2 = myList;
}
是否有充分理由在函数中将参数重新指定为局部变量?
答案 0 :(得分:1)
不是真的。在我看来,应该避免别名或重用名称。
答案 1 :(得分:1)
可能是个人风格。或尝试创建新引用失败?我很确定 - 因为编译器丢弃了myList2而支持myList。
答案 2 :(得分:0)
这取决于语言。在某些情况下,您可能希望稍后更改“复制” - 在某些语言/情况下,更改原始参数将更改调用者看到的内容。
如果你能说出你正在谈论的语言(Java?)并给出一个具体的例子,那将有助于我们解释。
答案 3 :(得分:0)
使用pass-by-value参数没有充分的理由这样做。这看起来像一个不太流利的开发人员,他回忆说,如果他没有处理他的参数副本,那么他所使用的另一种语言就会让他感到厌烦。