为什么绝大多数android的例子在findViewById(id)等方法中将return变量声明为final?例如:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_enc_disp);
final ListView listViewEncDisp = (ListView) findViewById(R.id.listViewEncDisp);
listViewEncDisp.setOnItemClickListener(this);
}
我知道最后一个变量不能再分配,但是不明白为什么你需要这个好习惯。 提前致谢
答案 0 :(得分:1)
盲目地向所有变量添加final
不是一个好习惯。尽可能将字段标记为final是常见的惯例。使参数和变量始终是最终的更主观。我个人避免它,因为它只会增加杂乱。另请注意,使变量final不会对运行时产生影响,因为大多数情况下它只是一个编译时约束。
答案 1 :(得分:-1)
如果您不想更改对象,则应将其声明为final
,最好避免编译时出现随机错误。
例如,您可以尝试在代码中的其他位置分配另一个值,只是因为您忘记之前已经执行过,然后您可能会花费几分钟,有时会花费数小时来查找错误。