防止开发人员使用我的私有方法需要一个notNull参数(注意我没有使用Spring框架)会更好吗?
使用@NotNull注释
private void myBusinessMethod(@NotNull Object argument){
//...
}
我必须选择哪个库? javax.validation.constraints.NotNull
?
使用断言
private void myBusinessMethod(Object argument){
assert argument != null ;
//...
}
抛出IllegalArgumentException
private void myBusinessMethod(Object argument){
if (argument == null){
throw new IllegalArgumentException ("Argument can't be null") ?
}
//...
}
建议在以下链接中使用断言:http://www.javapractices.com/topic/TopicAction.do?Id=5
你怎么看?谢谢
答案 0 :(得分:1)
@NotNull
只是一个注释,它本身没有任何作用。您可以使用Hibernate Validator库来提供和实现注释处理器,以强制实现@NotNull
的含义。但通常情况下,将此注释(用于文档)与thorws IllegalArgumentException
结合使用就足够了。
另外,@lexicore指出的资源(在评论中)应该有所帮助。