我刚开始使用Java 8中的@NotNull
注解并且得到了一些意料之外的结果。
我有这样一个方法:
public List<Found> findStuff(@NotNull List<Searching> searchingList) {
... code here ...
}
我写了一个JUnit测试,将参数searchingList的值设置为null。我原本期望会发生某种类型的错误,但是它却没有报错,就好像注释并不存在一样。这是预期行为吗?据我的理解,@NotNull注释的作用是允许你跳过编写样板式的null检查代码。
非常希望能够解释一下@NotNull到底应该做什么。
@NotNull
只是一个注解。注解本身并没有作用,需要在编译时有一个注解处理器,或者在运行时进行处理。 - Sotirios Delimanolis