Mam funkcję w następujący podpisDlaczego adnotacja @Nonnull została sprawdzona w czasie wykonywania?
public static String myFunction(@Nonnull String param)
Kiedy ja nazywam go z param za nieważną, pojawia się następujący wyjątek:
Caused by: java.lang.IllegalArgumentException: Argument for @Nonnull parameter 'param' of com/MyClass.myFunction must not be null
at com.MyClass.$$$reportNull$$$0(MyClass.java)
javax.annotation.Nonnull nie powinno być sprawdzane w czasie wykonywania .
Kto właściwie zgłasza wyjątek i dlaczego?
P.S. Uruchamiam serwer Tomcat w trybie debugowania z IntelliJ IDEA 2016.3 z Oracle JDK 1.8.0_102
Właściwie @Jesper, te nowe adnotacje zostały stworzone do tego: sprawdź rzeczy podczas kompilacji. Możesz sprawdzić moją odpowiedź ... "Podczas kompilowania kodu, w tym modułu NonNull w wierszu poleceń, kompilator wypisze ostrzeżenie, jeśli wykryje potencjalny problem" – BrunoDM
@BrunoDM - jest to wyjątek czasu wykonywania – Dmitry