加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy:map literal上的getClass方法返回null

发布时间:2020-12-14 16:25:19 所属栏目:大数据 来源:网络整理
导读:在Groovy中,我在代码中经常使用 map literal notation,并对于 Map的具体实现感到好奇. 在尝试了一些事情之后,这个脚本最能说明我的困惑: def map = ["A":"B"]println map // I assume this avoids any lazy evaluation of the mapprintln map instanceof Ha
在Groovy中,我在代码中经常使用 map literal notation,并对于 Map的具体实现感到好奇.

在尝试了一些事情之后,这个脚本最能说明我的困惑:

def map = ["A":"B"]
println map // I assume this avoids any lazy evaluation of the map
println map instanceof HashMap // I tried some other impls too
println map.class

并收到此输出:

[A:B]
true
null

这告诉我地图显然是一个HashMap,但getClass方法不想告诉我.

所以我的问题是:为什么getClass返回null,是否有更合适的方法从Groovy获取运行时类信息?

解决方法

你需要使用

map.getClass()

否则它正在寻找一个叫做类的键

几乎是Why does groovy .class return a different value than .getClass()的重复

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读