假设我有一个名为Family的类。它包含一个Person列表。每个Person类都包含一个Address类,而每个Address类都包含一个PostalCode类。任何“中间”类都可能为空。
那么,是否有一种简单的方法可以在不必在每个步骤中检查null的情况下获取PostalCode?也就是说,是否有一种方法可以避免以下嵌套代码?我知道没有“本地”的Java解决方案,但希望如果有人知道库或其他东西。(检查了Commons和Guava,但没找到)
if(family != null) {
if(family.getPeople() != null) {
if(family.people.get(0) != null) {
if(people.get(0).getAddress() != null) {
if(people.get(0).getAddress().getPostalCode() != null) {
//FINALLY MADE IT TO DO SOMETHING!!!
}
}
}
}
}
不能改变结构,因为来源是我无法控制的服务。
不能使用Groovy及其方便的“Elvis”运算符。
不想等待Java 8 :D
我无法相信我是第一个厌烦编写像这样代码的开发者,但我一直没有找到解决方案。