final
默认情况下创建局部变量是很常见的“好习惯” 。不知道 Eclipse,但在 IDEA 中,“创建局部变量”对话框中甚至还有一个复选框。但是有一个问题不允许我每次都使用它。以这段代码为例:
...
final Foo foo = null;
try{
foo = getFromSomewhere();
} catch (IDontCareException e) {
log.info(e, "looks like foo is not there);
}
if (foo != null) {
doSomethingWithFoo(foo);
}
doSomethingElse();
...
问题是IDontCareException
没有扩展 RuntimeException
......还有什么方法可以使用final
变量吗?