私はそれが良いプログラミングの習慣であると信じているので、すべての自分の(ローカル変数またはインスタンス変数)final
を一度だけ書き込むことを意図しています。try/catchを使った最終変数の代入
はしかし、私は、変数の代入が例外を投げることができたときに、最終的な変数と作ることができないことに注意してください:
final int x;
try {
x = Integer.parseInt("someinput");
}
catch(NumberFormatException e) {
x = 42; // Compiler error: The final local variable x may already have been assigned
}
一時変数に頼ることなくこれを行う方法はありますか?
私はあなたが一時変数なしでこれを行うことができるとは思わない。 – NPE
'final int x = makeX();'は間違いなくです。 (try-catch in function) –
JDKにはまだ 'tryParse'がありません(http://stackoverflow.com/questions/1486077/java-good-way-to-encapsulate-integer-parseint) 。 –