我是相當新的時髦,看一些現有的代碼,我看到:Groovy中變量名後的空方括號是什麼意思?
def timestamp = event.timestamp[]
我不明白什麼是空方括號在做這條線。請注意,這裏定義的時間戳應該會得到一個長整型值。
在這段代碼中,event
被定義在我們龐大的代碼庫的其他地方,所以我不確定它是什麼。我認爲這是一張地圖,但是當我在地圖上使用這種記法編寫了一些單獨的測試代碼時,方括號會導致將一個空值分配給時間戳。然而,在上面的代碼中,括號是獲得正確(非空)值所必需的。
一些快速谷歌搜索沒有幫助很多(很難搜索「[]」)。
編輯:結果事件和event.timestamp都是zero.core.groovysupport.GCAccessor對象,並且如下面的答案所述,[]必須調用這些對象的getAt()並返回一個值(在此情況,很長)。
'event.getClass()'returns ...?你可以運行代碼嗎? 'timestamp'對象是什麼類? – Will
你所得到的'正確的價值'是什麼? – doelleri