Vamos a um exemplo:
// Código Groovy int numeroQueParecePrimitivo = 1 Integer numeroQueNaoParecePrimitivo = 2Embora a declaração acima seja do tipo primitivo (int), o Groovy transforma isso por debaixo dos panos. No final, o Groovy vai considerar a variável numeroQueParecePrimitivo como do tipo Integer.
Segue uma explicação de como o Groovy trata os tipos que para Java são primitivos:
Tipo primitivo | Tipo Groovy |
byte | java.lang.Byte |
short | java.lang.Short |
int | java.lang.Integer |
long | java.lang.Long |
float | java.lang.Float |
double | java.lang.Double |
char | java.lang.Character |
boolean | java.lang.Boolean |
Isso simplifica muito as coisas. Essa conversão de tipos, é comumente chamada de boxing e a ação reversa unboxing. O Groovy executa essas operações automaticamente, tudo de forma transparente - isso, você não precisa fazer nada (bye bye casting).
Uma coisa importante a se notar é que, por se tratar de objetos, o Groovy utiliza os métodos existentes na API Java para efetuar cálculos.
def a = 1 def b = 2 int soma = a + b // O Groovy entende assim: Integer soma = a.plus(b)Isso é válido para todas as operações de tipos primitivos do Java e seus métodos como plus(), minus(), div(), mod(), next(), previous() etc.
Nenhum comentário:
Postar um comentário