0

Android の例の大多数が、findViewById(id) などのメソッドで戻り変数を 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);
}

最終変数を再度割り当てることができないことは知っていますが、なぜこの良い習慣が必要なのかわかりません。前もって感謝します

4

2 に答える 2

1

すべての変数に盲目的に追加するfinalことは良い習慣ではありません。可能な限り、フィールドを最終としてマークすることは一般的に受け入れられている方法です。パラメータと変数を常に最終的なものにすることは、より主観的です。散らかってしまうだけなので、個人的には避けています。また、変数をfinalにすると、実行時の影響はありません。ほとんどの場合、これは純粋にコンパイル時の制約です。

于 2013-02-07T20:48:40.333 に答える
-1

オブジェクトを変更したくない場合は、として宣言する必要がありますfinal。コンパイル時のランダムエラーを回避することをお勧めします。

たとえば、以前に行ったことを忘れたという理由だけで、コード内の別の場所に別の値を割り当てようとすると、エラーを見つけるために数分、場合によっては数時間かかる可能性があります。

于 2013-02-07T20:50:22.970 に答える