Java NullPointerException检查链接方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java NullPointerException检查链接方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1217字,纯文字阅读大概需要2分钟。
内容图文
![Java NullPointerException检查链接方法](/upload/InfoBanner/zyjiaocheng/681/781efe46731646c483802d0ced1ad7bf.jpg)
我想在访问几个类深的字段(在get方法链中)时检查空指针.但是,如果较早的方法之一为null,则无论如何都会得到NullPointerException.
这是我要检查的内容,尽管它仍然可以获取NullPointerException:
if(x.getLocation().getBuilding().getSolidFuelInd() != null)
pol.setWood_heat_ind(x.getLocation().getBuilding().getSolidFuelInd() ? "Y" : "N");
这是我希望上面的代码展示的行为:
if(x.getLocation() != null)
if(x.getLocation().getBuilding() != null)
if(x.getLocation().getBuilding().getSolidFuelInd() != null)
pol.setWood_heat_ind(x.getLocation().getBuilding().getSolidFuelInd() ? "Y" : "N");
pol上的字段是可选的,并且仅当以上getter不为null时才应设置.但是,建筑物和位置对象也可以为null,因此现在我必须检查它们是否有效.
有没有像我想要的那样检查上述所有内容的更短方法?
解决方法:
如果需要减少代码,则可以将每个调用保存在变量中.
// note: Replace type with the correct type
type location = x.getLocation();
type building = location == null ? null : location.getBuilding();
// note: you don't have to check for null on primitive types
pol.setWood_heat_ind(building != null && building.getSolidFuelInd() ? "Y" : "N");
这更清洁,更容易遵循.
值得深思的是,您不需要在原始类型boolean,int,byte等上检查是否为null,因此不需要对building.getSolidFuelInd()进行最后的null检查
内容总结
以上是互联网集市为您收集整理的Java NullPointerException检查链接方法全部内容,希望文章能够帮你解决Java NullPointerException检查链接方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。