Groovy has the def
keyword to replace a type name when we declare a variable. Basically it means we don't really want to define the type ourselves or we want to change the type along the ride.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | def myvar = 42 assert myvar instanceof Integer myvar = 'I am a String' // String assignment changes type. assert myvar instanceof String String s = 'I am String' assert s instanceof String s = new Integer( 100 ) // Surprise, surprise, value is converted to String! assert s instanceof String int i = 42 assert i instanceof Integer try { i = 'test' // Cannot assign String value to Integer. } catch (e) { assert e instanceof org.codehaus.groovy.runtime.typehandling.GroovyCastException } |