Я раньше работал с некоторыми SQL, и мне стало интересно, какая разница между этими двумя типом.В чем разница между T и def в groovy?
В моем примере у меня есть 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' vs' Object' (и на практике, даже 'T') одинаковы. – Igor