Vla*_*lie 7 java oop pmd
好的,所以我理解为什么我们应该从这个问题宣布论证是最终的,但我不明白为什么我们不应该...
由于Java总是使用pass by value,这意味着我们不能通过给定的参数返回一个新值,我们只能覆盖它,并使参数无用,因为我们不使用传递的值...
Java中非最终方法参数的唯一好处是您不必创建参数类型的局部变量吗?
PS这个问题是由... PMD的规则引发的MethodArgumentCouldBeFinal
PMD
MethodArgumentCouldBeFinal
Jof*_*rey 4
我只能想到不创建参数的两个原因final:
final
如果您需要在某些边缘情况下覆盖参数的值(例如,如果参数为 null 等,则设置默认值),可以节省局部变量的使用。但是,我不认为这通常是一个好的做法。
每个参数保存 6 个字符,从而提高可读性。
原因2是导致我大多数时候不写它的原因。如果您假设人们遵循从不为参数分配新值的做法,则可以将所有参数视为隐式参数final。当然,编译器不会阻止您分配参数,但考虑到可读性的提高,我可以接受这一点。
归档时间:
11 年,6 月 前
查看次数:
615 次
最近记录:
9 年,4 月 前