java – 在方法参数中使用NotNull注释
发布时间:2020-12-14 16:25:08 所属栏目:Java 来源:网络整理
导读:我刚刚开始使用 Java 8的@NotNull注释,并获得一些意想不到的结果. 我有一个这样的方法: public ListFound findStuff(@NotNull ListSearching searchingList) { ... code here ...} 我写了一个JUnit测试,通过参数的searchList的null值.我期待发生某种类型的
我刚刚开始使用
Java 8的@NotNull注释,并获得一些意想不到的结果.
我有一个这样的方法: public List<Found> findStuff(@NotNull List<Searching> searchingList) { ... code here ... } 我写了一个JUnit测试,通过参数的searchList的null值.我期待发生某种类型的错误,但是它似乎就像注释不在那里一样.这是预期的行为吗?从我的理解,这是允许你跳过编写样板空检查代码. 对@NotNull应该做什么的解释将不胜感激. 解决方法
@Nullable和@NotNull自己不做任何事情.它们应该作为文档工具.
@Nullable注释提醒您在以下情况下需要引入NPE检查: >可以返回null的调用方法. 实际上,@NotNull注释是一个明确的合同,声明如下: >一个方法不应该返回null. 例: 而不是写作: /** * @param aX should not be null */ public void setX( final Object aX ) { ... } 您可以使用 public void setX( @NotNull final Object aX ) { ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |