zoukankan      html  css  js  c++  java
  • 关于项目中遇到的NullPointerException异常时处理手段

    在项目开发中,经常会遇到NullPointerException异常,特别是一些新手,非常的郁闷,有时候会很隐蔽,特别是不同的人书写的代码进行调用时。

    以下是我所遇到的NullPointerException异常情景:

    问题:

    1、循环List时,如:

    for(int i = 0,size = list.size();i < size;i ++){
       dosomething....
    }

    2、比较字符串时,如:

    if(str.equals("test")){
      dosomething....    
    }

    3、调用对象的方法时,如

    System.out.println(str.toString());

    解决方案:

    1、对于这个问题,要不在使用之前判断其是否是非空,如:

    if(list != null){
      for(int i = 0,size = list.size();i < size;i ++){
       dosomething....
      }
    }

    要么返回的List对象大小为0的List,如:

    list = Collections.emptyList();

    2、对于这个问题,要么是在使用之前判断其是否为非空,如:

    if(str != null && str.equals("test")){
      dosomething....    
    }

    要么是左边是已知的字符串,如:

    if("test".equals(str)){
      dosomething....    
    }

    3、对于这个问题,若是使用toString()方法,可以这样,如:

    System.out.println(String.valueOf(str));

    即使该对象为null,但是其调用之后输出的字符串"null",也不会发生异常;

    若是调用其它的方法,则需要判断其是否为空,当然若你知道肯定不为空,则不必,若连你自己都无法确定是否非空,则必须要判断一下。

  • 相关阅读:
    重定向丶管道丶参数传递
    zabbix监控redis
    zabbix监控mysql
    playbook
    zabbix通过jvm监控tomcat
    zabbix监控tcp状态
    部署centos6
    自动选择profile
    java jvm学习笔记十二(访问控制器的栈校验机制)
    java jvm学习笔记十一(访问控制器)
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/4091144.html
Copyright © 2011-2022 走看看