想象一下,我有一个类家庭。它包含一个人员列表。每个(类)Person包含一个(类)地址。每个(类)地址都包含一个(类)PostalCode。任何“中间”类都可以为null。Java:避免检查嵌套类中的空值(深空检查)
那么,有没有一种简单的方法到达PostalCode,而不必在每一步中检查null?即,有没有办法避免以下菊花链代码?我知道没有“原生”Java解决方案,但希望是否有人知道图书馆或其他东西。 (选中共享&番石榴,并没有看到任何东西)
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和它的方便的“猫王”操作符。
不,我不希望等待的Java 8:d
我不能相信我是第一个开发过生病“N厌倦这样写代码,但是我的天堂”无法找到解决方案。
想法?
感谢
-
llappall
对不起,你卡住了。有些人使用三元条件运算符使其密度稍小,但它仍然是相同的字节码,只是难以阅读。 –
“*我不相信我是第一个生病的开发者,厌倦了编写这样的代码*”呃,你没有。 – user1329572
当然。但我不相信你可以更加优雅的代码!抱歉! –