Estoy tratando de agregar anotaciones compatibles con findbugs a un proyecto, pero noté que @Nonnull no siempre se procesa como era de esperar. Por ejemplo findbugs no da por sentado que las colecciones nativas estándar pueden devolver null:Anotaciones no nulas y paquetes estándar de Java
void method(@Nonnull String bar) {...}
map = new HashMap();
method(map.get("foo"));
pasará las pruebas FindBugs a pesar de que no debe. ¿Puedo configurar findbugs de alguna manera para que esté alerta en este caso?
Esto no parece responder a la pregunta en absoluto. La pregunta era si es posible obtener Findbugs para darse cuenta de que HashMap puede devolver null, no cómo utilizar la anotación Nonnull en general. –
ok, en lugar de hashmap, crea una clase digamos new XTZClass(), xyzObj.get (""), dentro del método return null en un bloque condicional. si eso es identificado por el findbug, es consciente del objeto gráfico y clase en tiempo de ejecución. esto es sólo una sugerencia – zudokod
No estoy seguro de si el análisis estático funcionará en las bibliotecas ya compiladas – zudokod