Link copiato negli appunti
Le annotazioni (annotations) sono una realtà in Java ormai dal 2004, anno del rilascio di Java SE 5 "Tiger", ed in breve tempo hanno raggiunto una diffusione capillare tanto nella JDK quanto nei framework più utilizzati e diffusi, specie in ambito Java EE.
Con l’arrivo di Dolphin è prevista un’estensione dell’utilizzo delle annotazioni anche ai tipi: il sottoprogetto di OpenJDK7 in questione è Type Annotations, sviluppato in ambito accademico ed in parte basato su Checker Framework.
Ecco un po’ di esempi di utilizzo delle type annotations.
- tipi di argomento per classi e interfacce con parametri tramite l’uso di generics e wildcard;
Map<@NonNull String, @NonEmpty List<@Readonly Document>> files; class Folder<F extends @Existing File> { ... } Collection<? super @Existing File> interface WonderfulList<@Reified E> { ... } - implementazioni di interfacce;
class UnmodifiableList<T> implements @Readonly List<@Readonly T> { ... } - clausola
throws;void monitorTemperature() throws @Critical TemperatureException { ... } - array;
@Readonly Document [][] docs1 = new @Readonly Document [2][12]; // array of arrays of read-only documents Document @Readonly [][] docs2 = new Document @Readonly [2][12]; // read-only array of arrays of documents Document[] @Readonly [] docs3 = new Document[2] @Readonly [12]; // array of read-only arrays of documents
- operatore di cast;
myString = (@NonNull String) myObject;
- operatore
instanceofper testare l’appartenenza di un oggetto ad una classe;boolean isNonNull = myString instanceof @NonNull String;
- creazione di oggetti;
new @NonEmpty @Readonly List<String>(myNonEmptyStringSet)
Manco a dirlo, chi ha bisogno di un rapido ripasso può fare riferimento ad un paio di risorse utili su HTML.it.
Se vuoi aggiornamenti su Java inserisci la tua email nel box qui sotto: