在Groovy中,我经常使用映射文字表达式,并且很好奇它具体实现了哪个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获取运行时类信息?