Groovy中NullObject类的目的是什么?

Groovy中NullObject类的目的是什么?,第1张

概述我一直在使用Groovy五个小时,刚刚遇到了 Groovy NullObject.我读了Groovy explanation of the Null Object Pattern,但它没有直接触及NullObject类; NullObject只是为了像NullTree和NullJob这样的东西?我在一些需要String的代码中得到一个NullObject,并且它导致失败,就像“常规”null一样. 我一直在使用Groovy五个小时,刚刚遇到了 Groovy NullObject.我读了Groovy explanation of the Null Object Pattern,但它没有直接触及NullObject类; NullObject只是为了像NullTree和NullJob这样的东西?我在一些需要String的代码中得到一个NullObject,并且它导致失败,就像“常规”null一样.

那么,NullObject的目的是什么?或者,换句话说,NullObject提供的“常规”null不具有什么价值?

解决方法 其目的是使用null对象而不是null关键字.

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

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

那么groovy可以处理像object这样的东西?.methodname().如果object为null,则groovy将使用NullObject,以便此隐式检查将执行类似的 *** 作(可能这不是实际的实现,只是为了给您提示)

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

总之,需要克服在Java中使用空引用将始终导致NullPointerException的事实.

总结

以上是内存溢出为你收集整理的Groovy中NullObject类的目的是什么?全部内容,希望文章能够帮你解决Groovy中NullObject类的目的是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1234742.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存