gpt4 book ai didi

groovy - Groovy 中 NullObject 类的用途是什么?

转载 作者:行者123 更新时间:2023-12-04 14:36:12 25 4
gpt4 key购买 nike

我一直在使用 Groovy 五个小时,但刚刚遇到了 Groovy NullObject .我读了 Groovy explanation of the Null Object Pattern ,但它不涉及 NullObject直接上课;是 NullObject只是打算成为诸如 NullTree 之类的东西的基类和 NullJob ?我收到了 NullObject回到一些需要 String 的代码中,并且它导致故障很像“常规”null将有。

那么,NullObject的目的是什么? ?或者,换种说法,NullObject 是什么值?提供“常规”null不是吗?

最佳答案

它的目的是拥有一个空对象而不是 null关键词。

在普通 Java 中 null是一个特殊的关键字,它用于表示引用未附加到任何对象.. 这可以正常工作,但它不能处理您尝试使用空引用执行某些操作的情况。

由于空引用不是对象,因此您无法对其进行任何操作,Java 将抛出 NullPointerException .相反,如果您有 NullObject您的引用将指向这个而不是什么..当然是这个 NullObject无法做任何事情,当您尝试对其调用方法时,什么都不会发生,但不会抛出异常,因为始终 NullObject意味着“没有任何对象”,它被实现为一个具有明显后果的对象,以避免这些情况。

这样 groovy 就可以处理 object?.methodName() 之类的事情.如果对象为空,groovy 将使用 NullObject这样这个隐式检查就会做类似的事情(也许这不是实际的实现,只是为了给你这个想法)

if (object instanceof NullObject)
return new NullObject();
else
return object.someMethod();

总之,需要克服在 Java 中使用空引用总是会导致 NullPointerException 的事实。 .

关于groovy - Groovy 中 NullObject 类的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2480195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com