Java为参数分配新值,这被认为是一种不好的做法吗?

Osc*_*mez 11 java parameters variable-assignment

我在这里已经阅读了这个问题:为方法参数赋值是否有问题?.但是,我不清楚是否做了类似的事情:

public void myMethod(Object obj) {
    doSomething(obj);
    obj = getNewObj();
}
Run Code Online (Sandbox Code Playgroud)

要么:

public void anotherMethod(Object obj) {
     obj = doSomething(obj):
}
Run Code Online (Sandbox Code Playgroud)

这基本上只是为了避免声明一个新的局部变量,这值得吗?,这被视为一种不好的做法吗?

dby*_*rne 9

这是一种不好的做法.您将很难找到牺牲可读性值得的场景.对于那些不了解Java的"按价值传递"政策的人来说,这将特别令人困惑,遗憾的是很多人.


Rha*_*aun 7

性能0,可读性-1.我希望eclipse可以自动添加最终标签.

  • 如果为此定义_save action_,Eclipse会自动为方法参数和局部变量添加`final`. (5认同)