次の署名を持つ関数があります
public static String myFunction(@Nonnull String param)
param を null として呼び出すと、次の例外が発生します。
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 は、実行時にチェックされないはずです。
実際に例外をスローするのは誰で、その理由は?
PS私は、Oracle JDK 1.8.0_102を使用してIntelliJ IDEA 2016.3からTomcatサーバーをデバッグモードで実行しています