Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Verso Java 7: type annotations

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 instanceof per 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:

Compilando il presente form acconsento a ricevere le informazioni relative ai servizi di cui alla presente pagina ai sensi dell'informativa sulla privacy.

Ti consigliamo anche