如何检查object中的所有非原始元素是否为null

时间:2014-03-07 09:28:30

标签: java

是否有任何快捷方式可以检查对象是否所有元素(及其元素)都为空。例如,我想检查一个国家/地区对象(及其城市及其街道)是否为空?我不想一个接一个地检查它们;

country == null || country.city == null || country.city.street == null


public class Country{

  City city;
  ....

}

public class City{

  Street street;
  ....
}

public class Street{
  ....
}

1 个答案:

答案 0 :(得分:1)

没有捷径:您必须递归浏览您的实例并检查其字段。您可以使用How to list all properties exposed by a Java class and its ancestors in Eclipse?中显示的自定义浏览器版本。无论如何,如果你正在使用深奥的遗留代码,那么这种方法是有意义的,而如果你正在编写新类,那么在工厂方法的构造函数中更好地强制执行所有非null。