メソッドに対してローカルな変数を final として宣言できない理由を知りたいです。具体的な理由はありますか?
Javaにはローカル定数がないということですか?
メソッドに対してローカルな変数を final として宣言できない理由を知りたいです。具体的な理由はありますか?
Javaにはローカル定数がないということですか?
それらは最終的であると宣言できます。あなたの実際の問題は別の場所にあります。
変数は final として宣言できます。final 変数は 1 回だけ割り当てることができます。割り当ての直前に割り当てが確実に解除されていない限り (§16)、最終的な変数が割り当てられると、コンパイル時エラーになります。
言い換えれば、それは完全に合法です。さらに、可能な限りローカル変数を使用することをお勧めします。final
ローカル変数で一貫して final を使用することも (適切な場合)、同様に役立ちます。[...] 合理的なアプローチは、メソッドに少なくとも 1 つの非最終ローカル変数がある場合にのみ、ローカル変数に最終を使用することです。これにより、非最終ローカル変数を他のローカル変数とすばやく区別できます。
誰ができないと言った。私たちは宣言することができます。メソッドで使用できない static と混同している可能性があります。
愚かな間違い!おそらく、参照変数について言及するのを忘れていて、Eclipse は「トークン "final" の構文エラー、無効な型」のように文句を言います。
SOでここで質問したとき、そのばかげた間違いに気づかなかったと確信してfinal Pojo = new Pojo();
いる場合、完全に機能しているのに参照変数が欠落している例。final Pojo pojo = new Pojo();