Java NullPointerException,即使对象存在
我在一行中得到一个Java NullPointerException,即使对象存在,java,string,nullpointerexception,bufferedreader,Java,String,Nullpointerexception,Bufferedreader,我在一行中得到一个NullPointerException,我调用一个方法并传递一个字符串。我只能假设字符串为空 它是在几行之前从一个BufferedReaderreadline初始化的。以下是相关代码: FileInputStream tmp = null; try { tmp = new FileInputStream(file); } catch (FileNotFoundException e) { System.err.println("File not found!"
NullPointerException
,我调用一个方法并传递一个字符串。我只能假设字符串为空
它是在几行之前从一个BufferedReader
readline初始化的。以下是相关代码:
FileInputStream tmp = null;
try {
tmp = new FileInputStream(file);
} catch (FileNotFoundException e) {
System.err.println("File not found!");
e.printStackTrace();
System.exit(1);
}
DataInputStream dis = new DataInputStream(tmp);
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
create();
try {
data = br.readLine();
} catch (IOException e) {
System.err.println("First readline failed: " + e);
System.exit(1);
}
while (!data.equals(null)) {
process(data);
...
错误是:
Exception in thread "main" java.lang.NullPointerException
at enc.read(enc.java:40)
at enc.main(enc.java:15)
空值检查本身会触发
NullPointerException
。而不是!data.equals(null)
writedata!=空值
空值检查本身会触发空值异常
。而不是!data.equals(null)
writedata!=空
在不知道行号的情况下,我怀疑以下是罪魁祸首:
!data.equals(null)
如果data
为null
,则将抛出NullPointerException
替换为:
data != null
在不知道行号的情况下,我怀疑以下是罪魁祸首:
!data.equals(null)
如果data
为null
,则将抛出NullPointerException
替换为:
data != null
如果非要我猜的话,我想问题出在:
while (!data.equals(null)) {
process(data);
尝试将其更改为:
while (data != null) {
process(data);
}
您不能从空对象调用方法。如果我不得不猜测,我认为错误在于:
while (!data.equals(null)) {
process(data);
尝试将其更改为:
while (data != null) {
process(data);
}
无法从空对象调用方法。,而(!data.equals(null))
毫无意义。如果data
为null
则不能对其调用equals(..)
替换
while (!data.equals(null))
借
而(!data.equals(null))
毫无意义。如果data
为null
则不能对其调用equals(..)
替换
while (!data.equals(null))
借
那么,哪一行是#40和#15?在哪里声明
数据
?(我猜这就是你的null
string
)null.method()
将触发任何实例方法的NullPointerException。请不要使用DataInputStream来读取文本。那么,哪一行是#40和#15?在哪里声明数据
?(我猜这就是你的null
string
)null.method()
将触发任何实例方法的NullPointerException。请不要使用DataInputStream来读取文本。现在最大的问题是。。。谁是第一个?:)现在最大的问题是。。。谁是第一个?:)宾果,就是这样。问题是一行电话号码不见了,而且我睡眠不足。宾果,就是这样。问题是一行电话号码不见了,而且我睡眠不足。