在常规打印结果和空值中也使用 ExpandoMetaclass

发布于 2024-12-12 08:13:40 字数 403 浏览 0 评论 0原文

当我尝试使用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 技术交流群。

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

发布评论

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

评论(1

美羊羊 2024-12-19 08:13:40

nullnewMethod 的返回值。如果您不希望打印此内容,请从您的行中删除 println

println testA.newMethod("anish")

The null is the return value from newMethod. In case you don't want this to be printed remove the println from your line

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