是否有任何快捷方式可以检查对象是否所有元素(及其元素)都为空。例如,我想检查一个国家/地区对象(及其城市及其街道)是否为空?我不想一个接一个地检查它们;
country == null || country.city == null || country.city.street == null
public class Country{
City city;
....
}
public class City{
Street street;
....
}
public class Street{
....
}
答案 0 :(得分:1)
没有捷径:您必须递归浏览您的实例并检查其字段。您可以使用How to list all properties exposed by a Java class and its ancestors in Eclipse?中显示的自定义浏览器版本。无论如何,如果你正在使用深奥的遗留代码,那么这种方法是有意义的,而如果你正在编写新类,那么在工厂方法的构造函数中更好地强制执行所有非null。