`
zpl3001
  • 浏览: 93537 次
  • 性别: Icon_minigender_1
  • 来自: baga
社区版块
存档分类
最新评论

避免空指针

阅读更多
我想大家在开发当中遇到最多的报错就是空指针了吧。
工作已经一段时间了,遇到了很多空指针的问题。
List list=dao.findById(id);
for(int i=0;i<list.size();i++){
   //do some thing
}

如果list=null的话,会出现null pointer exception
原因不在于List list=null 而在于list.size()这句话,因为如果list为null的话,不可能有size方法,所以出现空指针的错误。
很多情况下,出现空指针的错误都是类似以上的情形,当然很多时候可能会出现在多层调用的时候。
所以一般需要对返回值做出处理
List list=dao.findById(id);
if(list==null){
   //一般情况下会在这里做return处理,来避免以下的语句对null进行调用,发生空指针
   //当然也可以用if else语句来跳过可能出现空指针调用的语句
}
if(list!=null&&list.size()<1){
   //需要说明的是内容为空和null是不一样的,内容为空不会报空指针
   //但显然下面的for循环不会执行
}
for(int i=0;i<list.size();i++){
   //do some thing
}

另外对jsp页面的空指针也是一样的,因为jsp是被编译成java class运行的。
比如下面代码
<%
   String para=""
   List list=request.getAttribute("users");
   
   log.info(para.length());  //output 0
   //如果list为null,下面也会出现空指针
   for(Iterator i=list.iterator();i.hasNext();){
      //output   
   }
%>



欢迎大家补充:-)
3
0
分享到:
评论

相关推荐

    利用Java8 Optional如何避免空指针异常详解

    这种方式虽然可以避免空指针异常,但会使代码变得冗长且不易阅读。而使用 Optional,我们可以将这些检查内建在 API 设计中,使得代码更简洁且易于理解。 下面详细介绍 Optional 的常用方法: 1. `isPresent()`: 这...

    Java中避免空指针异常的方法

    主要介绍了Java中避免空指针异常的方法,本文讨论Optional类型、Objects类等技术,需要的朋友可以参考下

    java空指针

    3. **异常处理**:虽然应尽量避免空指针异常的发生,但在无法完全避免的情况下,合理使用异常处理机制(如`try-catch`块)可以防止程序崩溃,同时提供错误信息。 4. **代码审查与单元测试**:定期进行代码审查和...

    Android-Application被回收引发空指针异常分析(消灭全局变量

    在Android应用开发中,"Android-...在实际的项目中,AppObjectTest可能是一个示例代码,用于演示如何正确处理全局变量,避免空指针异常的发生。通过学习和实践这类示例,开发者可以更好地掌握Android应用开发的技巧。

    Java字符串比较方法equals的空指针异常的解决

    在使用equals()方法时,需要注意避免空指针异常,使用 “常量”.equals(变量) 或者 后输入的.equals(之前的) 可以避免空指针错误,并且在编写代码时,需要考虑到变量可能为空的情况,以避免空指针异常的产生。

    J2EE编程(action之空指针)

    3. **使用Optional类**:Java 8引入了Optional类,可以有效地避免空指针异常。通过使用Optional,可以明确表示一个值可能是缺失的,并提供了一种优雅的方式来处理这种情况。 ```java Optional&lt;User&gt; optionalUser...

    防止手机获取相片空指针的工具类

    `MiPictureHelper`需要提供一个方法来解析这个URI,避免空指针异常。可能的问题包括:某些URI可能为空,或者不是标准的文件路径,这时候需要特殊处理。 4. **兼容不同类型的URI**: 小米手机可能会返回`content://...

    继承 空指针 spring

    在这个例子中,`myDao` bean继承自`HibernateDaoSupport`,并将其`HibernateTemplate`属性设置为`myHibernateTemplate` bean,这样就可以避免空指针异常。 另外,我们还可以使用`@Autowired`注解来自动装配`...

    空指针

    通过细致的编程实践和严谨的逻辑检查,可以有效地避免空指针异常,从而提高程序的稳定性和可靠性。在处理`AddOrderlineServlet`、`ShoppingCart`以及`listBookStore.jsp`这样的文件时,确保进行充分的null检查和异常...

    15.3 调试空指针导致的死机问题.rar

    在嵌入式开发领域,尤其是使用GD32F303单片机进行项目开发时,经常遇到的一个问题就是程序因为空指针引用而引起的死机。本话题将深入探讨如何调试并解决这类问题,以确保代码的稳定性和可靠性。 首先,理解空指针的...

    软件编程低级错误空指针PPT学习教案.pptx

    综上所述,理解和避免空指针错误是软件编程的基础,而遵循编程规范、良好的代码设计以及有效的异常处理和调试方法是保证代码质量、可读性和可维护性的关键。在实际开发中,程序员应时刻保持警惕,对可能产生空指针的...

    空指针异常

    除了上述处理方式,还可以通过编程习惯来避免空指针异常。例如,使用 Optional 类型,这是 Java 8 引入的新特性,它可以更好地帮助程序员处理可能为 null 的值,减少空指针异常的发生。在使用 Optional 时,可以这样...

    使用Optional解决空指针问题共2页.pdf.zip

    本篇内容将深入探讨如何利用`Optional`来避免空指针异常,提高代码的健壮性和可读性。 `Optional`类是一个容器对象,它可能包含或者不包含非null值。如果值存在,`isPresent()`方法会返回true,调用`get()`方法会...

    java 空指针异常(NullPointerException)

    - **使用Optional**:Java 8引入的`Optional&lt;T&gt;`可以帮助避免空指针异常,它提供了一种更安全的方式来封装可能为null的值。 - **避免返回null**:设计方法时尽量避免返回null,而应返回一个默认值或抛出异常。 ### ...

    jar在命令行下运行空指针异常解决

    为了有效避免在命令行下运行JAR包时出现空指针异常,正确的Java环境变量配置至关重要。以下是一些关键步骤: 1. **确认JAVA_HOME**:确保系统变量中存在`JAVA_HOME`,并且其值指向安装的JDK或JRE的根目录。例如: ...

    J2EE编程(action之空指针处理)

    在J2EE编程中,Action类是Struts2框架的核心组成部分,它负责处理用户的请求,并进行业务逻辑处理。当我们遇到“action之空指针处理”...遵循这些最佳实践,可以有效地避免空指针异常,提高代码的健壮性和可维护性。

    java 避免出现NullPointerException(空指针)的方法总结

    避免空指针异常可以提高java应用的稳定性和可靠性。本文将总结java 避免出现NullPointerException(空指针)的方法,帮助开发者编写更加健壮的java程序。 1. 从已知的String对象中调用equals()和equalsIgnoreCase()...

    空指针的定义.doc

    在编程实践中,正确地使用空指针可以避免许多潜在的程序错误,如悬挂指针。在分配内存后,如果不再需要使用,应将指针设置为`NULL`,这样可以提醒程序员该指针已不再有效,防止后续误用。在释放内存后检查指针是否为...

    C语言中的空指针、空指针常量、NULL &amp; 0.docx

    在C语言中,空指针、空指针常量、NULL和0是编程时经常会遇到的概念,它们在处理指针时扮演着至关重要的角色。...在实际编程中,确保正确地使用空指针常量来初始化或检查指针,避免出现未定义的行为或内存错误。

Global site tag (gtag.js) - Google Analytics