Collections 类返回的对象,如:emptyList() / singletonList() 等都是 immutable list,不可对其进行添加或者删除元素的操作
我觉得客户端在使用方法放回的 List 或者 Set 之前必须进行非空判断,不能直接用返回的 Collection 对象调用方法。因为你不能要求第三方的代码或者同组中其他同事写的代码不会返回 null。
pb3s4cty1#
是可以这么要求非空的,这可以成为一个约定,我们实践过程中,使用了 jsr-305 的 @Nullable@Nonnull@NonNullApi 等注解来做空值声明,效果很好,很多主流框架也都履行了响应的规范, IDEA 对此支持也已经很到位了
@Nullable
@Nonnull
@NonNullApi
1条答案
按热度按时间pb3s4cty1#
是可以这么要求非空的,这可以成为一个约定,
我们实践过程中,使用了 jsr-305 的
@Nullable
@Nonnull
@NonNullApi
等注解来做空值声明,效果很好,很多主流框架也都履行了响应的规范, IDEA 对此支持也已经很到位了