2012-11-07 3 views
10

Ho un enum che implementa un'annotazione e sto ricevendo l'avviso: L'annotazione di tipo A non deve essere utilizzata come superinterfaccia per MyClass.@SuppressValori valore quando si ha un'annotazione come superinterfaccia

Esiste un valore per @SuppressWarnings che gestisce questo avviso? Non voglio usare @SuppressWarnings ("all"), preferisco avere l'avvertenza piuttosto che sopprimerli tutti.

Sto usando Eclipse.

+1

Sei sicuro di aver bisogno di estendere un'altra annotazione? Le annotazioni non sono supportate dalle classi JVM, quindi non sarà possibile ottenere lo stesso tipo di ereditarietà. –

+0

Non è proprio il mio codice, quindi non ho molto da dire. Sto solo lavorando con esso così ho voluto minimizzare il disordine. – user1294431

+0

Considera l'AnnotationReader iface di JAXB - penso che il suo unico scopo sia quello di consentire 'rilevare' annotazioni che "non ci sono". Quindi vuoi creare annot sintetico. le istanze. Senza riflettere, il modo più semplice sarebbe implementare semplicemente l'interfaccia di annotazione. E poi - ricevi questo avvertimento. –

risposta

3

Credo non ci sia un tale valore per lo @SuppressWarnings. Se ci fosse un tale valore, il compilatore ti avrebbe dato un suggerimento su come usarlo insieme all'avviso.

Poiché, non esiste, probabilmente significa che non è una buona idea fare in modo che l'enum estenda un'annotazione.

E se si vuole continuare in questo modo, penso che l'@SuppressWarnings("all") sia l'unica opzione disponibile.

+0

Grazie, ho pensato tanto. Volevo solo esserne sicuro. – user1294431

Problemi correlati