最佳答案
因为我相信这是一个很好的编程实践,所以我将所有(本地或实例)变量 final
,如果它们打算只写一次的话。
然而,我注意到当一个变量赋值可以抛出一个异常时,你不能让这个变量成为 final:
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
}
有没有一种方法可以做到这一点,而不诉诸于一个临时变量?(或者这不是最后修饰语的正确位置?)