这有效吗?
def CallableStatement st
try {
...
st = sqlConn.prepareCall("call....")
...
}
我真正担心的是你能指定类型并同时使用def吗?
答案 0 :(得分:3)
这有效吗?
是,不......
是的,因为编译器很乐意编译并执行上面的代码,但是没有,因为输入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