Estoy todavía bastante nuevo en la programación Java y que estaba buscando en un proyecto de código abierto y me encontré con este¿Cómo funcionan las anotaciones de usuario?
public @TileNetworkData int progressPart = 0;
he visto el uso de @
antes, pero sólo para hacer cosas como @override
antes de que un miembro. Para mi sorpresa, mirando hacia arriba la definición que me llevó a código de usuario
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface TileNetworkData {
int staticSize() default -1;
}
Lo que está haciendo el código, y lo que es útil para? Parece que está agregando alguna forma de metadatos al campo. ¿Cómo se usa algo como esto?
Haciendo algo de Google Encontré que esto se llama "Anotaciones", pero todo lo relacionado con él se me pasó por la cabeza. Se apreciaría cualquier tipo de ejemplo en el que se usara algo como esto.
Esto no responde exactamente lo que el OP está preguntando específicamente. – BoltClock