Cosa dovrei usare per @Nullable se ho usato il lombok @NonNull?

4

Sto utilizzando l' annotazione lombok @NonNull per alcuni dei miei campi, parametri e metodi, in parte per il controllo nullo e anche in parte a scopo di documentazione. Quindi confondo se ho aggiunto un'annotazione @NonNull / @NotNull da altre librerie.

Quindi, se voglio aggiungere anche un'annotazione @Nullable / @CanNull per un po 'del mio codice, quale dovrei usare? Non esiste in lombok (ragionevolmente). Se dichiaro la mia annotazione, gli IDE potrebbero non capirli. Se utilizzo queste annotazioni dalle librerie esistenti, verranno aggiunte anche altre annotazioni @NotNull , e potrebbero facilmente portare a utilizzare annotazioni errate quando voglio quella lombok.

    
posta SOFe 10.09.2016 - 09:10
fonte

1 risposta

2

Poiché non è possibile eseguire alias annotazioni in Java, è necessario utilizzare entrambi se si desidera supportare entrambi i framework.

Se un cliente sceglie di usare Lombok, riconoscerà la sua annotazione, ignorando gli altri. Senza avere l'annotazione di Lombok, il framework non lo registrerà, e lo stesso vale per qualsiasi altro framework.

Ridurre la confusione

Dovresti evitare di usare @Nullable / @CanNull , renderlo implicito.

@NonNull / @NotNull viene solitamente implementato per generare errori se qualcuno tenta di utilizzare null dove è proibito. Se è consentito un valore nullo, non è possibile che si verifichi un errore (non includendo i motivi di sicurezza del tipo).

Capirei se questa non sia un'opzione (tu devi usare annotazioni null e non null), ma è un modo intelligente per ridurre la verbosità.

    
risposta data 01.11.2016 - 05:28
fonte

Leggi altre domande sui tag