• bug总结


    1.被除数为0

    2.Java 空指针异常(java.lang.NullPointerException)

    即对象没有进行实例化便进行了使用。实例化的意义,就是将对象实例的地址赋值给对象符号。

      比如 String a = new String();即在堆中将String的实例构造后,将地址赋值给a。 String a = “123”;即将常量池中的“123”这个对象实例的地址赋值给a。

      引发空指针异常,往往是在获取对象实例地址的时候,由于获取的对象实例并不存在,因此返回的地址为null,而又没进行判断,直接使用了该对象实例(地址)引发的。

      例如:

         String userName = request.getParameter("username");
        If (userName.equals("root"))
        {....}

      如果request中并不存在“username”字段,则自然getParameter返回的是null。而调用userName(为null)的equals会抛出异常。

      

      小技巧:如果要把某个方法的返回值与常量做比较,把常量放在前面,可以避免调用null对象的equals方法。例如上述改成: "root".equals(userName);

       因此,我们在进行对象实例地址的获取赋值的时候,在之后,要进行必要的判断。这种情况多发生在,查询数据库、从DTO对象中获取对象等中

      例如一个数据库查询对象DAO的使用:   List<***> result = DAO.select();    如需在result没有结果的时候进行错误处理,这需要包含两个判断: result为null或者result.size()为0。其业务意义分别是没有表和表中没有记录。即 : if(result == null || result.size() == 0){.......} ,注意,这里的result == null要在result.size() == 0之前才合理。否则会在没有表的时候,即result==null时,抛出空指针异常。

  • 相关阅读:
    ClouderaManager与CDH
    教辅的组成
    国家集训队 小Z的袜子
    国家集训队 旅游
    NOIP2015 子串
    数颜色
    间谍网络
    NOIP2017 逛公园
    APIO2009 抢掠计划
    JLOI2014 松鼠的新家
  • 原文地址:https://www.cnblogs.com/limingxian537423/p/8065315.html
Copyright © 2020-2023  润新知