
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类的目的是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)