1
這是有效的嗎?在groovy中定義變量類型
def CallableStatement st
try {
...
st = sqlConn.prepareCall("call....")
...
}
我真的很擔心的是你可以指定類型並同時使用def嗎?
這是有效的嗎?在groovy中定義變量類型
def CallableStatement st
try {
...
st = sqlConn.prepareCall("call....")
...
}
我真的很擔心的是你可以指定類型並同時使用def嗎?
這是有效的嗎?
是的,沒有....
是的,因爲編譯器會愉快地編譯和執行上面的代碼,但沒有,因爲它確實沒有任何意義,輸入一些東西作爲def
也將其分配爲顯式類型。基本上你說的是「這可以有任何類型,但它必須是CallableStatement
」。在我看來,上面的定義應該會產生編譯器錯誤。
在實踐中這樣的定義:
def CallableStatement st
看來是相同的:
CallableStatement st
正如下面舉例說明:
class Foo {
def List l;
}
new Foo().l = new ArrayList() // this works
new Foo().l = "ddd" // this throws a GroovyCastException