在常规打印结果和空值中也使用 ExpandoMetaclass
当我尝试使用expandometaclass技术运行示例程序时,它给我两个输出,一个是所需的结果,第二个是“null”作为输出,从哪里拾取null?
class testA {
static def X(def var) {
Y(var)
}
static def Y(def var) {
println var
}
}
testA.metaClass.static.newMethod = {z_var -> X(z_var) }
println testA.newMethod("anish")
输出:
anish
**null**
为什么这个程序也打印 null 作为输出
the sample progame when i try to run using the expandometaclass technique it give me two output one the desired result second one "null" as output, from where null is picked up ?
class testA {
static def X(def var) {
Y(var)
}
static def Y(def var) {
println var
}
}
testA.metaClass.static.newMethod = {z_var -> X(z_var) }
println testA.newMethod("anish")
output:
anish
**null**
why this progranme also print null as output
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
null
是newMethod
的返回值。如果您不希望打印此内容,请从您的行中删除println
The
null
is the return value fromnewMethod
. In case you don't want this to be printed remove theprintln
from your line