Curiosidade sobre Constantes publicas no Groovy

Posted Over 8 years ago. Visible to the public. Draft.

Java precisa que você defina se uma variável ou constante é private / protected / public, ou "em branco" que seria package.

No Groovy o "em branco" tem outro sentido, mais próximo de public. Mas na verdade o que o Groovy faz é criar um getVariavel() e um setVariavel() sempre.

Isto fica no mínimo estranho quando se trata de uma constante:

static final String CONSTANTE = 'valor da constante'

Pois será criado na sua classe um

getCONSTANTE()
setCONSTANTE(String valor)

Apesar de não fazer exatamente muita diferença para a programação em si, este código injetado faz parte da sua classe compilada, ocupando espaço da memória Java uma vez que várias classes em seu programa estarão "inchando" desnecessariamente.

Em constantes opte por utilizar public explicitamente, para evitar este comportamento do Groovy de inchar sua classe.

public static final String CONSTANTE = 'valor da constante'
Bruno Vieira
Last edit
Over 8 years ago
Bruno Vieira
Posted by Bruno Vieira to ZeroGlosa (2015-11-13 17:08)