0 java nullpointerexception java.util.scanner
我在第5行收到NullPointerException.我不确定为什么或如何解决它...
public static Scanner getInputScanner(Scanner console){
Scanner inputFile = new Scanner(System.in);
Scanner file = null;
String userInputFile = null;
while (file.equals(null)) {
try {
System.out.print("Enter input file: ");
userInputFile = inputFile.nextLine();
file = new Scanner(new File(userInputFile));
} catch (FileNotFoundException e) {
System.out.print(userInputFile + " (No such file or directory)");
file = null;
return file;
}
}
return file;
}
Run Code Online (Sandbox Code Playgroud)
有什么指针吗?
虽然您通常使用比较Java对象equals的方法,null比较是一个明显的例外:没有Java Object比较equal来null- Java类需要满足此要求:
对于任何非空引用值x,
x.equals(null)应返回false.
而且,首先file是null,所以调用它上面的任何方法,包括equals,都将导致NPE.
因此,您需要使用引用相等:
while (file == null) {
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
936 次 |
| 最近记录: |