1
유효합니까?그루비 형식의 변수 정의
def CallableStatement st
try {
...
st = sqlConn.prepareCall("call....")
...
}
내가 정말로 걱정하는 것은 유형을 지정할 수 있으며 동시에 def를 사용할 수 있습니까?
유효합니까?그루비 형식의 변수 정의
def CallableStatement st
try {
...
st = sqlConn.prepareCall("call....")
...
}
내가 정말로 걱정하는 것은 유형을 지정할 수 있으며 동시에 def를 사용할 수 있습니까?
유효합니까?
예와 아니오 ....
네, 정말 또한 def
과 같이 뭔가를 입력 할 말이 없기 때문에 컴파일러는, 아니 행복하게 컴파일하고 위의 코드를 실행하지만, 때문에 그것을 명시 적 유형으로 지정하십시오. 기본적으로 당신이 말하는 것은 "이 타입은 가질 수 있지만, 반드시 CallableStatement
"이어야합니다. 제 생각에는 위의 정의는 컴파일러 오류를 생성해야합니다. 다음은 예시로서
CallableStatement st
: 실제로
이 정의 :
def CallableStatement st
는 동일 것으로 보인다
class Foo {
def List l;
}
new Foo().l = new ArrayList() // this works
new Foo().l = "ddd" // this throws a GroovyCastException