我正在检查变量是否已初始化,但此时netbeans正在给我variable reader might not have been initialized
警告。我如何修复/压制这个?
这是我的代码(摘要):
final Reader reader;
try {
reader = new Reader(directory);
//additional stuff that can cause an exception
} catch (Exception ex) {
//do stuff
} finally {
if (reader != null);
}
if检查的要点是确定它是否已初始化。
最佳做法是什么?
答案 0 :(得分:13)
如果reader
从未初始化,则它甚至没有空值。
更改
final Reader reader;
到
Reader reader = null;
确保它具有初始值。
这样,如果reader = new Reader(directory);
引发异常,则{finally}阻止测试时reader
将包含null
。
答案 1 :(得分:1)
你无法重新分配结局变量!你必须改变你的
最终读者读者;
到
Reader reader = null;
并为读者提供初始值。