Jestem wielkim fanem auto-boxing w Javie, ponieważ oszczędza wiele brzydkich kodów płyty kotła. Jednak odkryłem, że automatyczne rozpakowywanie jest mylące w pewnych okolicznościach, gdy obiekt Number może mieć wartość null. Czy istnieje sposób na wykrycie miejsca, w którym następuje automatyczne rozpakowywanie w bazie kodu z ostrzeżeniem javac? Każde inne rozwiązanie wykrywające przypadki rozpakowywania (takie jak FindBugs lub ostrzeżenie kompilatora specyficzne dla Eclipse) byłoby docenione, ponieważ nie mogę znaleźć żadnego rozwiązania.Automatyczne rozpakowywanie Java - czy jest ostrzeżenie kompilatora?
Aby wyjaśnić, nie chcę generować ostrzeżeń na boksie - tylko rozpakowywanie.
Oto prosty przykład z jakiegoś kodu, który może spowodować mylące NullPointerExceptions:
class Test {
private Integer value;
public int getValue() {
return value;
}
}
Dzięki - myślę, że zrobię to samo. Nawet jeśli nie złapie problemu, powinno ułatwiać debugowanie problemu. –
Występuje problem związany z oddzieleniem boksu od rozpakowywania ostrzeżeń: https://bugs.eclipse.org/bugs/show_bug.cgi?id=163065 – Kyle