当你写一个方法时,比如在你的一个DAO对象中,并且你不希望这个方法接受某些输入,为了讨论的缘故,说它不允许null参数。你如何去实现这一点,考虑到这种方法将来可能会被新的团队成员重用。在Java中处理未接受方法参数的最佳方法是什么?
我做到这一点的方法是:
- 在接口方面,我是一个变量,b和c不能为空的方法的javadoc里面的文件。
- 在方法内部,我检查空值的第一件事情,如果任何a,b或c都为null,那么我抛出一个IllegalArgumentException。
但是,如果某些未来的开发人员只是读取方法签名并决定他/她需要什么并开始使用它,而没有关注这些细节,并且更糟糕的测试不会揭示它。 NULL指针异常不会发生,并且我们正在收到一条有用的错误消息,但是我们仍然在生产中遇到了可能已被避免的错误。
有没有办法在编译时强制执行?我对此表示怀疑,但如何做到这一点最安全和最不利于开发者的方式呢?
非常酷,我会说,有没有回答这个问题。但是,您的答案应该不仅仅包含一个链接。在Stackoverflow上,我们努力提供将持续多年的内容。如果你的链接被破坏了,那么解释也是如此。你能编辑你的答案来解释这是什么吗? – jmort253 2012-03-03 10:29:01
根据@ jmort253的要求添加示例 – ebaxt 2012-03-03 10:50:23
+1 - 非常有帮助! – jmort253 2012-03-03 10:56:04