`
evget
  • 浏览: 141336 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类

JAVA常见错误的说明及解决方法

阅读更多
文章关键字:|JAVA|错误|简析|数据|类型|语法错误|共享|资源|

  1、空指针错误 java.lang.NullPointerException

  使用基本的JAVA数据类型,变量的值要么已经是默认值,如果没有对其正常赋值,程序便不能通过编译,因此使用基本的JAVA数据类型(double,float,boolean,char,int,long)一般不会引起空指针异常。由此可见,空指针异常主要跟与对象的操作相关。

  下面先列出了可能发生空指针异常的几种情况及相应解决方案:

  不管对象是否为空就直接开始使用。

  (JSP)代码段1:

  out.println(request.getParameter("username"));

  描述:

  代码段1的功能十分简单,就是输出用户输入的表域"username"的值。

  说明:

  看上去,上面的语句找不出什么语法错误,而且在大多数情况下也遇不到什么问题。但是,如果某个用户在输入数据时并没有提供表单域"username"的值,或通过某种途径绕过表单直接输入时,此时request.getParameter("username")的值为空(不是空字符串,是空对象null。),out对象的println方法是无法直接对空对象操作,因此代码段1所在的JSP页面将会抛出"java.lang.NullPointerException"异常。

  即使对象可能为空时,也调用java.lang.Object或Object对象本身的一些方法如toString(), equals(Object obj)等操作。

  (JSP)代码段2:

  String userName = request.getParameter("username");

  If (userName.equals("root"))

  {....}

  描述:

  代码段2的功能是检测用户提供的用户名,如果是用户名称为"root"的用户时,就执行一些特别的操作。

  说明:

  在代码段2中,如果有用户没有提供表单域"username"的值时,字符串对象userName为null值,不能够将一个null的对象与另一个对象直接比较,同样,代码段2所在的JSP页面就会抛出(java.lang.NullPointerException)空指针错误。

  (JSP)代码段3:

  String userName = session.getAttribute("session.username").toString();

  描述:

  代码段3的功能是将session中session.username的值取出,并将该值赋给字符串对象 userName。

  说明:

  在一般情况下,如果在用户已经进行某个会话,则不会出现什么问题;但是,如果此时应用服务器重新启动,而用户还没有重新登录,(也可能是用户关闭浏览器,但是仍打开原来的页面。)那么,此时该session的值就会失效,同时导致session中的session.username的值为空。对一个为null的对象的直接执行toString()操作,就会导致系统抛出(java.lang.NullPointerException)空指针异常。

  解决方案:

  为了确保进行操作或引用的对象非空,假若我们要对某对象进行操作或引用,我们首先去检查该对象是否已经实例化且不为空;并且在系统中加入针对对象为空时情况的处理。



未完,原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9282
分享到:
评论

相关推荐

    Java开发常见错误及解决方案文件

    《Java开发常见错误及解决方案文件》是一份指导Java开发者避免和处理开发过程中常见问题的文档。该文档中提到了一些典型的错误和对应的解决方案,下面详细展开其中的一些关键知识点。 1. 类定义未找到错误(java....

    100例常见错误及解决方案.pdf

    这份《100例常见错误及解决方案.pdf》文件中的内容是针对Java编程中常见的问题进行的一个总结,接下来我将详细阐述其中提到的一些Java编程错误及解决方案: 1. 抽象方法的定义问题 - 在Java中,抽象方法不能包含...

    CheckStyle常见错误.docx

    CheckStyle常见错误解决方法 CheckStyle是一款静态代码分析工具,用于检查Java代码的格式、编程风格和可读性。下面是常见的CheckStyle错误提示和解决方法: 1. Type is missing a javadoc comment 错误解决方法:...

    java代码分析工具findbugs安装使用说明及常见错误

    本篇将详细介绍FindBugs的安装、使用以及常见问题的解决方法。 ### 一、FindBugs安装 1. **获取安装包** - 在FindBugs官方网站下载最新版本的插件,或者从提供的`edu.umd.cs.findbugs.plugin.eclipse_1.3.9....

    JAVA中常见的异常

    ### JAVA中常见的异常知识点详解 #### 一、`java.lang.NullPointerException` 在Java编程中,`java.lang.NullPointerException`(简称NPE)是最常见的异常之一。这种异常通常发生在尝试访问一个空对象引用的方法或...

    java常见异常以及处理

    Java常见异常及其处理 Java编程过程中经常会遇到各种异常,了解这些异常的类型、原因和解决方法是非常重要的。以下是 Java 中常见的异常类型及其处理方法: 1. NullPointerException(空指针异常) 这个异常的...

    java中常见的异常类

    如果我们传递了错误的参数给方法, Java 将抛出 IllegalArgumentException。 6. IllegalAccessException(无访问权限异常) IllegalAccessException 是无访问权限异常。这种异常通常发生在应用程序尝试调用一个类...

    Java常见异常类型及原因分析(下).pdf

    在文档《Java常见异常类型及原因分析(下)》中,介绍了几种常见的Java异常类型及其产生原因,并提供了相应的分析。 首先,ArrayIndexOutOfBoundsException异常是在进行数组操作时最常见的异常之一。这个异常发生在...

    22_尚硅谷大数据之MapReduce_常见错误及解决方案1

    尚硅谷大数据之MapReduce_常见错误及解决方案 MapReduce是大数据处理的核心组件,但是在实际应用中,常常会遇到各种错误和问题。下面是常见的10个错误及解决方案: 1. 导包容易出错,尤其是Text和...

    Java开发常见问题汇总.ppt

    运行时的常见错误之一是空指针异常(NullPointerException),这发生在尝试访问尚未初始化的对象引用时。解决方法是检查对象是否已正确实例化,确保在使用前赋予其非null值。另外,数组越界也是常见的编程错误,应...

    java说明文档中文版.zip

    "java说明文档中文版.pdf"可能包含了以上所有或部分主题的详细解释,包括概念介绍、示例代码、最佳实践和常见问题解答。对于初学者和经验丰富的开发者来说,这都是极有价值的参考资料。阅读这份文档可以帮助你深入...

    java详细说明书的范式

    2. **设计模式**:理解并应用常见的设计模式,如工厂模式、单例模式、观察者模式、装饰器模式等,可以帮助解决常见的设计问题,提高代码复用性和灵活性。 3. **异常处理**:正确地使用try-catch-finally结构,以及...

    JDBC连接Oracle数据库常见问题及解决方法

    "JDBC连接Oracle数据库常见问题及解决方法" 本文将对 JDBC 连接 Oracle 数据库常见问题进行总结和解决方法的介绍。以下是针对不同问题的解决方案: 1. Jbuilder 正确连接 Oracle 数据库需要注意的几个问题 在使用...

    Tomcat内存溢出的解决方法(java.util.concurrent.ExecutionException)

    5. **增大PermGen或Metaspace大小**:如果你看到 `OutOfMemoryError: PermGen space` 或 `Metaspace`,这是方法区溢出,可以通过 `-XX:MaxPermSize` (对于老版本JVM) 或 `-XX:MaxMetaspaceSize` (对于Java 8及以后...

    JAVA改错学宝典(形象生动学习java)

    ### Java编程常见错误及解决方案 1. **正确使用main方法** 文章通过一休编写的HelloWorld程序,指出很多初学者容易混淆的点,比如main方法的大小写、方法签名、参数名等。通过实际操作和观察编译器的错误信息,...

    JavaService2.0附带说明文档

    7. **中文安装说明**:文档中应包含详细的中文指南,解释如何使用JavaService2.0.10,包括步骤、示例和可能遇到的问题及解决方案。这对于不懂英文的用户来说尤其有价值。 8. **兼容性**:JavaService2.0.10应该与多...

    JAVA配置文件编写说明文档

    提供的压缩包中包含`JAVA配置文件编写说明文档.pdf`和`说明.txt`,可能是详细的指南或教程,可以帮助你深入理解Java配置文件的编写和使用。`教程阅读器下载.url`和`爱书吧 电子书 教程 让更多人 读更多的书.url`则...

    图书管理系统Java附带软件说明书

    软件使用说明书.doc文件详细介绍了系统的安装步骤、登录方式、各个功能的操作指南以及常见问题的解决方案。对于初次使用的管理员和读者,建议仔细阅读该文档,以便快速熟悉系统操作。 四、程序代码 图书馆管理系统...

Global site tag (gtag.js) - Google Analytics