Groovy nos ofrece la posibilidad de especificar los tipos.
La palabra reservada def
se usa para declarar un objeto
sin especificar su tipo.
generaciondecodigos@nereida:~/src/groovy/simpledatatypes$ cat -n optionalTyping.groovy 1 import org.codehaus.groovy.runtime.typehandling.GroovyCastException 2 3 def v = 3 //variable v can hold any value 4 println v 5 v = 'helicopter' 6 println v 7 v = false 8 println v 9 v = new StringBuffer() 10 println "<$v>" 11 v = null 12 println v 13 14 int i = 15 //variable i can only hold integer values 15 println i 16 i = 'A' 17 println i 18 try { 19 i = false // produce una GroovyCastException 20 } 21 catch(e) { 22 println e.class 23 }Observe el resultado de la ejecución:
generaciondecodigos@nereida:~/src/groovy/simpledatatypes$ groovy optionalTyping.groovy 3 helicopter false <> null 15 65 class org.codehaus.groovy.runtime.typehandling.GroovyCastException