Sono ancora abbastanza nuovo per la programmazione Java e che stavo cercando nel corso di un progetto open source e sono imbattuto in questoCome funzionano le annotazioni dell'utente?
public @TileNetworkData int progressPart = 0;
ho visto l'uso di @
prima, ma solo per fare le cose come @override
prima che un membro. Con mia grande sorpresa alzando la definizione che mi ha portato a codice utente
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;
}
Che cosa sta facendo questo codice, e ciò che è utile per? Sembra che aggiunga qualche forma di metadati al campo. Come si usa qualcosa del genere?
Facendo un po 'di Google, ho scoperto che questo si chiama "Annotazioni", ma tutto ciò che vi era allegato mi passò per la testa. Qualsiasi tipo di esempio in cui qualcosa di simile sarebbe usato sarebbe apprezzato.
Questo non corrisponde esattamente a ciò che l'OP chiede in modo specifico. – BoltClock