我们可以在检查嵌套 java 对象中的 null 时避免 npe 吗?

发布于 2024-09-28 20:35:02 字数 161 浏览 5 评论 0原文

1) if(null !=parentObj.childObj)

2) if(parentObj.childObj != null)

你认为“1”会避免潜在的空指针异常吗在“parentObj”为空的情况下,与“2”相反?

1) if(null != parentObj.childObj)

2) if(parentObj.childObj != null)

Do you think that "1" will avoid a potential null pointer exception in the case where 'parentObj' is null, in contrast to "2"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

纵情客 2024-10-05 20:35:02

不会。

如果 ParentObj 为 null,则任何调用方法或引用字段的尝试都将导致 NullPointerExcepton。 != 总是评估双方。

只需首先检查parentObj是否为null并进行适当处理。

No.

If parentObj is null then any attempt to call a method or reference a field will result in a NullPointerExcepton. != always evaluates both sides.

Just check if parentObj is null first and handle it appropriately.

人事已非 2024-10-05 20:35:02

为什么不只是 if(parentObj != null &&parentObj.childObj != null)

Why not just if(parentObj != null && parentObj.childObj != null) ?

花开浅夏 2024-10-05 20:35:02

如果parentObj为null,引用parentObj上的任何方法/字段将导致NPE。换句话说,您需要 if (parentObj != null &&parentObj.childObj != null) 来避免 NPE。 Groovy 通过 安全导航减少了这种(非常常见)的冗长类型运算符,它允许您编写if (parentObj?.childObj)

If parentObj is null, referencing any method/field on parentObj will result in an NPE. In other words, you need if (parentObj != null && parentObj.childObj != null) to avoid an NPE. Groovy cuts down on this (very common) type of verbosity with the safe navigation operator, which lets you write if (parentObj?.childObj).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文