我使用FindBugs來檢測代碼包含的錯誤。我已經找到了一些解決方案,但是,我不明白爲什麼它仍然顯示檢查「微」的行中的「可能的空指針取消引用」錯誤。在while循環中,我已經顯示我的輸入應該與空值不同,但是它仍然顯示存在錯誤。如果可能,你能告訴如何解決這個問題嗎?提前致謝!代碼如下:Findbugs Java中可能的空指針取消引用
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.charset.Charset;
public class FindBug {
public static void main(String args[])
{
InputStreamReader reader = new InputStreamReader(System.in,Charset.defaultCharset());
BufferedReader bufferedreader = new BufferedReader(reader);
String scan = null;
boolean nextfound=false;
try
{
while(null!=(scan= bufferedreader.readLine())&&nextfound)
{
scan=scan.replace('i', 'a');
}
}
catch (IOException ioex)
{
System.err.println(ioex.getMessage());
}
if (scan.equals("micro"))
{
System.out.println("The result is macro!");
}
else
{
System.out.println("Something else!");
}
}
}
'readLine()'拋出異常 – chrylis
您的while條件可能失敗,在這種情況下,掃描字符串將爲空。 –
'readLine()'拋出一個'IO異常',修復這個'finally'塊的使用,關閉'finally塊'中的'br'。 –