2013-02-22 9 views
10

Chciałbym wygenerować ostrzeżenia dla wszystkich autoboxing i unboxing.Generowanie ostrzeżeń do używania autoboxing

Czy ktoś znalazł skuteczny sposób?

Eclipse rejestruje podstawowe błędy autoboxingu: np. Integer i = null; i++. Ale kończy się niepowodzeniem na czymkolwiek skomplikowanym i nie jest tym, za czym jestem.

Szukałem na PMD i Checkstyle ale nie znaleźliśmy tam nic.

Wiem, że to temat kontrowersyjny, ale myślę, że to niebezpieczna funkcja. Nie można go wyłączyć, więc chciałbym przynajmniej sprawdzić raport podczas sprawdzania kodu.

widzę ten NullPointerException zbyt często w kodzie opinie i błędów:

class X { 
    Integer i = null; 

    public int doSomething() { 
     return i + 2; 
    } 
} 

chcę zatrzymać go przed dostaniem się tak daleko.

+0

Z Twojego zapytania rozumiem, że poniższe ustawienie jest już ustawione w środowisku Eclipse? Czy mam rację? "Preferencje-> Java-> Kompilator-> Błędy/ostrzeżenia-> Potencjalne problemy z programowaniem-> Boksowanie i rozpakowywanie konwersji" – Jayamohan

+0

Ach, to jest idealne! Dzięki. Tęskniłem za tym. Miałem włączony tylko "zerowy dostęp do wskaźnika". Proszę napisać to jako odpowiedź :) –

+1

Byłoby miło wiedzieć, jak sprawdzić autoboxing za pomocą narzędzi do analizy statycznej. Następnie można go włączyć do nocnej kompilacji. –

Odpowiedz

13

Ustaw tego ustawienia w Eclipse,

Preferencje -> Java -> Compiler -> Błędy/ostrzeżenia -> Programowanie Potencjalne problemy -> Boks i unboxing konwersje.

+3

Mam nadzieję, że oddzielają boks od rozpakowywania. Boxing Nie mam nic przeciwko rozpakowaniu jest bardziej niebezpieczne: https://bugs.eclipse.org/bugs/show_bug.cgi?id=163065 – Kyle

Powiązane problemy