Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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中是否存在对象属性?_Java - Fatal编程技术网

如何检查java中是否存在对象属性?

如何检查java中是否存在对象属性?,java,Java,我试图学习Java中的责任链模式,在下面的代码中,如果后继者不存在,它会给出一个NullPointerException。我想看看继任者是否像这样存在 if(this.sucessor exists) { this.successor.check(Home) } 我该怎么做 public void next(HomeStatus Home){ this.successor.check(Home); } 这不是很明显吗 public void next(HomeStatus Hom

我试图学习Java中的责任链模式,在下面的代码中,如果后继者不存在,它会给出一个
NullPointerException
。我想看看继任者是否像这样存在

if(this.sucessor exists) {
  this.successor.check(Home) 
}
我该怎么做

public void next(HomeStatus Home){
   this.successor.check(Home);
}
这不是很明显吗

public void next(HomeStatus Home){
      if(this.successor != null){
          this.successor.check(Home);
     }
}
这不是很明显吗

public void next(HomeStatus Home){
      if(this.successor != null){
          this.successor.check(Home);
     }
}

if(this.succession!=null)
ohh谢谢。我没有看到:)你也可以在java8+上将继承者包装成可选的。因此检查他是否实例化将是
继承者。isPresent()
-这是件好事-它是空安全的,你也可以调用
或default()
,这样如果有空,它将返回默认值(或新对象)。@lengloy如果有空,这很好
(this.succession!=null)
ohh谢谢。我没看到:)你也可以在java8+上将继承者包装成一个可选的-因此检查他是否实例化将是
succession.isPresent()
-这是一个好消息-它是空安全的,你也可以调用
orDefault()
,这样它将返回一个默认值(或新对象)如果有空的话。@LenglBoy这很好