【发布时间】:2011-05-08 22:21:56
【问题描述】:
final 与下面的代码有何不同。将参数声明为final 有什么好处。
public String changeTimezone( Timestamp stamp, Timezone fTz, Timezone toTz){
return ....
}
public String changeTimezone(final Timestamp stamp, final Timezone fTz,
final Timezone toTz){
return ....
}
【问题讨论】:
-
有些代码分析器会在参数被重用或重新分配时发出警告。 (局部变量相同)恕我直言,如果您发现不希望更改这些参数,这是捕获此类参数的更好方法。
-
我觉得Java应该将所有输入法参数默认设置为final。然后,如果我想修改参考,我将不得不手动进行。这样一来,内疚因素就可以防止许多此类案件发生。
标签: java methods arguments final