簡體   English   中英

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

[英]Groovy: getClass method on map literal returns null

在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獲取運行時類信息?

你需要使用

map.getClass()

否則它正在尋找一個叫做class的鍵

幾乎沒有重復的為什么groovy .class返回一個不同於.getClass()的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM