Вы можете легко проверить это с помощью groovy shell (groovysh):
groovy:000> 3.class
===> class java.lang.Integer
Литерал 3 представляет собой java.lang.Integer
.
groovy:000> (3 * 1000000000).class
===> class java.lang.Integer
Произведение умножения такжеa java.lang.Integer
groovy:000> 3 * 1000000000
===> -1294967296
Теперь легко видеть, что целое число преобразуется в Long после произошел оверлей