我是新來的Groovy,和我讀一個項目grettyGroovy中`ObjectMapper mapper = []`的含義是什麼?
import org.codehaus.jackson.map.ObjectMapper
class JacksonCategory {
static final ObjectMapper mapper = []
...
}
我不明白的代碼ObjectMapper mapper = []
,這是什麼意思[]
這裏的來源是什麼?我認爲這是一個list
,但如何將它分配給ObjectMapper
?
UPDATE
取決於Dunes's answer,似乎[]
意味着invocation of default constructor
。因此,它的意思是:
static final ObjectMapper mapper = new ObjectMapper()
但是:
String s = []
println s // -> it's `[]` not ``
而且
Integer i = []
拋出異常:
Caught: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '[]'
with class 'java.util.ArrayList' to class 'java.lang.Integer'
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '[]' with class
'java.util.ArrayList' to class 'java.lang.Integer'
謝謝。但是我發現了一些不同的東西:'String s = []',那麼's'是字符串'[]' – Freewind
這是因爲字符串是一種特殊情況。 Groovy只是認爲你忘了在'[]' – Dunes
周圍加引號,請看我更新的問題。有沒有什麼文章可以解釋這個功能? – Freewind