segunda-feira, 1 de março de 2010

Groovy & Grails – Tutorial – parte 3.5

Mais Groovy:

1) Objetos, objetos, objetos...
Em Groovy, todas as variáveis são instâncias de java.lang.Object. Ou seja: mesmo os tipos primitivos são representados pelos seus Objects equivalentes (int -> Integer, etc...).

Em Java, se você tiver uma variável int x, você não pode fazer algo como x.toString();, pois o x não é um objeto. Em contrapartida, você não pode pegar a variável Integer y e utilizar um operador numérico sobre ela, como por exemplo y * 2. Em Groovy você pode fazer as duas coisas.

Isto traz alguns comportamentos bem interessantes. Por exemplo:

def x = 1
def y = 2
assert x + y == 3
assert x.plus(y) == 3
assert x instanceof Integer

As variáveis x e y são instâncias da classe Integer, mas em Groovy eu posso utilizá-las como se fossem do tipo int diretamente, sem precisar nenhum cast (ou unboxing). Todos os asserts acima são verdadeiros.

Hoje estou sem tempo, não deu para fazer um post maior... Fica para amanhã. :-)

Nenhum comentário: