私はいくつかのSQLを以前に使っていたので、これらの2つのタイプの違いが何であるか不思議でした。groovyのTとdefの違いは何ですか?
私の例では、2つのGroovyRowResults - pastDataとcurrentDataがあります。今、私はこれらの結果セットから2点を比較する必要があります。これらの値はどちらも不定型でなければなりません。それらを定義するときに、オブジェクトのいくつかの種類がある場合を除きので、
def pastResult = pastData[commonKey]
def currentResult = currentData[commonKey]
if(pastResult == currentResult){
doSomething()
}
と
T pastResult = pastData[commonKey]
T currentResult = currentData[commonKey]
if(pastResult == currentResult){
doSomething()
}
ありがとうございました!私はあなたが私の長い時間の束の周りに潜んでいるのを見たように感じる。私はgroovyが動的な言語であることを知っています。だから、defを使ってそれを作成した後に何かをキャストする必要はありません。これにより、ObjectとTの違いはdefとTよりも少し重要になりますか? – Zyxer22
@ Zyxer22はい、問題ありません。違いについては...私はあなたがオブジェクトを初期化した後に型を変更していない限り、多くはないと思います。 'def'は、リストから配列への変換時に、ほとんどの場合便利です(Objectはあなたにそれをさせません)。しかし、あなたの目的のために、私は 'def'と' Object'(そして実際には、 'T')も同じだと思います。 – Igor