开发者社区> 问答> 正文

java 方法入参是否总是需要检查?

String lookup(List<String> tree, String str){
     for (String s : tree){
         if (s == str){
             return s;
         } ;
     }
     return null
}

这里 tree 如果为 null, 这里将抛出异常,我们应该是在这里检查参数是否为空,如果为null 就返回,还是等待还是调用时抛出异常。
如果每个方法都检查入参是否为 Null 是否合适?
注:
实际工程总不仅仅是null, 当然null 是几乎所有暴露给外面的函数都应该考虑的,实际工程中还包括很多参数校验的例子. 如 你接受一个 ip 地址, 你是否需要检查 ip 地址是否合法.
一个参数从上到下传入, 经历多层调用, 每层都检查, 给人一种冗余的感觉, 不是一种非常优雅的做法. 所以,我想问, 作为一个稳定的工业级产品, 如果对参数处理, 自己没有一个非常满意的办法.

展开
收起
蛮大人123 2016-02-28 17:54:14 2833 0
2 条回答
写回答
取消 提交回答
  • 一个良好的习惯是经常检查
    2019-07-17 18:49:54
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    我一般这么做:
    public / internal / protected 函数,检查所有可能为null的参数。因为调用者来源未知。
    private 函数,调用者都是自己控制的,一般null到不了这一层。

    2019-07-17 18:49:54
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载