Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当对象为null时,为什么会导致NullPointerException?_Java - Fatal编程技术网

Java 当对象为null时,为什么会导致NullPointerException?

Java 当对象为null时,为什么会导致NullPointerException?,java,Java,当objec为空时: if(object != null && object.string.equals("")) { System.out.println("no error"); } 它将导致NullPointerException,为什么如果它检查第一个结果为false,它仍然检查第二个结果,而不是停止检查并打印“无错误”? 对不起,我的英语不好--#不是object是null,而是object.string 试试:(object!=null&“.equals(o

当objec为空时:

if(object != null && object.string.equals("")) {
    System.out.println("no error");
}
它将导致NullPointerException,为什么如果它检查第一个结果为false,它仍然检查第二个结果,而不是停止检查并打印“无错误”?
对不起,我的英语不好--#

不是
object
null
,而是
object.string


试试:
(object!=null&“.equals(object.string))

如果
object.string
为null会怎么样?我认为Java不像其他语言那样使用惰性求值,在选择答案true/false之前,它将检查整个条件。object.string可以是null@Lutzi这里使用的是lazy eval。@Lutzi
&
运算符短路(即lazy)。但如果上半部分为真,则“和”条件将评估下半部分。这就是它的意思。谢谢你,我发现了我的错误:在我做出判断之前,我已经是object object=new object();再次感谢你的回答