Scanner
byメソッドを閉じる必要がclose()
ある場合、次のようなコードがあります。チェックする必要がある理由を誰かが説明できますif(input != null
か?)
Scanner input = new Scanner(new File("System.txt"));
...
Public void closeFile() {
if(input != null) {
input.close();
}
}
Scanner
byメソッドを閉じる必要がclose()
ある場合、次のようなコードがあります。チェックする必要がある理由を誰かが説明できますif(input != null
か?)
Scanner input = new Scanner(new File("System.txt"));
...
Public void closeFile() {
if(input != null) {
input.close();
}
}
(input!= null)をチェックする必要がある理由を誰かが説明できますか?
null check
入力がnullの場合、 NullPointerExceptionがスローされます。
以下のコードを検討してください。
Scanner input = new Scanner(new File("System.txt"));
public void someMethod(){
input = doSomething(); //say doSomething() returns null
}
Public void closeFile()
{
if(input != null)
input.close();
}
ここで、入力がnullであるため、close()を呼び出そうとすると、NPE>がスローされます。
他の場所でinput
nullに設定できますか?割り当てはそうではないので、再割り当てされる可能性があることに注意してください(適切なアクセス権が与えられた場合)final