2012-06-22 14 views
9

He visto el signo at (@) en los archivos de Groovy y no sé si es una cosa de Groovy o Java. Intenté buscar en Google, Bing y DuckDuckGo el misterio del signo, pero no encontré nada. ¿Puede alguien darme un recurso para saber más sobre lo que hace este operador?¿Qué hace el @sign?

+1

¿Estás hablando de la anotación '@'? –

Respuesta

8

Es un Java annotation. Lea más en ese enlace.

+4

+1 Para resistir la tentación de explicar lo que es una anotación – Bohemian

+0

Prefiero tener una explicación (incluso un extracto del enlace), que un enlace. A veces, cuando estoy en un lugar con mala conectividad a Internet, me ayuda mucho tener que abrir solo la página SO para obtener la respuesta :) –

2

'@' es un anotaciones en Java/Groovy vistazo a la demo: Example with code

Java 5 o superior compatible con el uso de anotaciones para incluir metadatos dentro de los programas. Groovy 1.1 y superior también es compatible con tales anotaciones.

  • Las anotaciones se utilizan para proporcionar información a herramientas y bibliotecas.

  • Permiten un estilo declarativo de proporcionar información de metadatos y permiten que se almacene directamente en el código fuente.

  • Dicha información tendría que proporcionarse de otro modo mediante medios no declarativos o mediante el uso de archivos externos.
7

Además de ser un signo de una anotación, que es la Groovy Field operator

En Groovy, llamando object.field llama al método getField (si existe). Si usted quiere realmente una referencia directa al campo en sí, se utiliza @, es decir:

class Test { 
    String name = 'tim' 

    String getName() { 
    "Name: $name" 
    } 
} 

def t = new Test() 
println t.name // prints "Name: tim" 
println [email protected] // prints "tim"