问题与背景

新人在编写代码的时候,往往会出现想当然的情况,简单来说就是“我觉得他有”,所以在使用过程中会出现各种空指针的问题。

建议与解决方案

空指针问题的避免,主要是一些数据持久化逻辑和查询逻辑的代码编写习惯的问题。这里整理几个容易出现空指针问题的点,以及对应的一些编码习惯。

  • 关于表设计时候的注意事项
    在表设计的时候,注意参与进行业务操作的字段(如果不确定可以假设全部都是)一定要设置默认值,一个是发数据的时候,要有默认值,另一种防护是数据库要有default的设计,一旦不传参,要自己有默认数据,防止报错。
  • 关于数据库查询时候的注意事项
    从数据库查询出来的数据,应该考虑是不是查出来了具体的Obj对象,哪怕查出来了对象,也应该考虑具体的字段是不是存在。判断好了再去使用。
  • 接口传参注意的空指针问题
    接口传递过来的数据,当然有一种具体的形式就是数据库的反馈结果了。在其他情况下,也应该多怀疑一下,参数传递过来之后,尤其是对象的传递,对象具体参数的有无,对象本身是不是null都需要判定一下,再使用。此外,哪怕满足了上述的判定,也要判断参数是不是合理,才能使用,否则还是容易出问题。