2013-04-26 11 views
6

Quando si configura Eclipse 4.2.0 per eseguire un'analisi nulla (configurata per utilizzare @javax.annotation.Nonnull ecc.), Il codice seguente genererà l'avvisoAnalisi null di Eclipse: l'espressione di tipo int richiede una conversione non controllata per conformarsi a '@Nonnull Integer'

sicurezza di tipo Null: L'espressione di tipo int bisogno incontrollato conversione a conformarsi alle '@Nonnull Integer'

class C 
{ 
    static void foo(int i) 
    { 
    bar(i); // Warning 
    } 

    static void bar(@javax.annotation.Nonnull Integer i) 
    { 
    } 
} 

Come faccio a risolvere questo problema (senza usare @SuppressWarnings("null"))? Sembra che l'analizzatore non sappia che i primitivi in ​​scatola non possono essere null.

+2

Questo era un bug in Eclipse, che ha ottenuto fissato per traguardo 7 della prossima 4,5 rilascio. –

+1

Non è completamente risolto, consultare https://bugs.eclipse.org/bugs/show_bug.cgi?id=447661 –

risposta

3

Penso che sia un bug in Eclipse. Ho provato lo stesso con IntelliJ, e funziona come previsto lì.

Quando passo un Null, IntelliJ mi dice correttamente che i valori null non sono consentiti.

enter image description here

Tuttavia, quando uso la variabile i normale, nessun errore si apre up up, che è del tutto corretto. enter image description here

Ho provato anche questo, solo per l'esperimento, quindi non sono sicuro se sei bloccato per Eclipse, il resto mi consiglia di utilizzare sia la libera Community version di IntelliJ, o Ultimate edition.

enter image description here

Problemi correlati