最终变量在android中查找视图

时间:2013-02-07 20:43:30

标签: java android

为什么绝大多数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);
}

我知道最后一个变量不能再分配,但是不明白为什么你需要这个好习惯。 提前致谢

2 个答案:

答案 0 :(得分:1)

盲目地向所有变量添加final不是一个好习惯。尽可能将字段标记为final是常见的惯例。使参数和变量始终是最终的更主观。我个人避免它,因为它只会增加杂乱。另请注意,使变量final不会对运行时产生影响,因为大多数情况下它只是一个编译时约束。

答案 1 :(得分:-1)

如果您不想更改对象,则应将其声明为final,最好避免编译时出现随机错误。

例如,您可以尝试在代码中的其他位置分配另一个值,只是因为您忘记之前已经执行过,然后您可能会花费几分钟,有时会花费数小时来查找错误。