为什么Groovy的地图没有metaClass?

为什么Groovy的地图没有metaClass?,第1张

概述为什么Groovy的文字地图没有metaClass? // lists work as expected:aList = []println aList.class // class java.util.ArrayListprintln aList.metaClass // gives the full blown metaclass // org.codeha 为什么Groovy的文字地图没有MetaClass?

// Lists work as expected:aList = []println aList.class // class java.util.ArrayListprintln aList.MetaClass  // gives the full blown Metaclass          //     org.codehaus.groovy.runtime.HandleMetaClass@3de6696c          //     [groovy.lang.MetaClassImpl@3de6696c[class java.util.ArrayList]]// string and numbers too:println ''.MetaClassprintln 12.MetaClass// map does not:aMap = [:]println myMap.MetaClass // gives nullprintln myMap.class // also gives null

经测试:

Groovy Version: 1.8.6 JVM: 1.6.0_31 vendor: Sun Microsystems Inc. OS: linux
解决方法 你必须使用:

[:].getMetaClass()

就像你想得到一个Map的类一样,即:

[:].getClass()

这是因为当您对它们执行属性查找时,Maps会返回给定键表示的值.否则你不能拥有key class或MetaClass

总结

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

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存