文章关键字:|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开发者避免和处理开发过程中常见问题的文档。该文档中提到了一些典型的错误和对应的解决方案,下面详细展开其中的一些关键知识点。 1. 类定义未找到错误(java....
这份《100例常见错误及解决方案.pdf》文件中的内容是针对Java编程中常见的问题进行的一个总结,接下来我将详细阐述其中提到的一些Java编程错误及解决方案: 1. 抽象方法的定义问题 - 在Java中,抽象方法不能包含...
CheckStyle常见错误解决方法 CheckStyle是一款静态代码分析工具,用于检查Java代码的格式、编程风格和可读性。下面是常见的CheckStyle错误提示和解决方法: 1. Type is missing a javadoc comment 错误解决方法:...
本篇将详细介绍FindBugs的安装、使用以及常见问题的解决方法。 ### 一、FindBugs安装 1. **获取安装包** - 在FindBugs官方网站下载最新版本的插件,或者从提供的`edu.umd.cs.findbugs.plugin.eclipse_1.3.9....
### JAVA中常见的异常知识点详解 #### 一、`java.lang.NullPointerException` 在Java编程中,`java.lang.NullPointerException`(简称NPE)是最常见的异常之一。这种异常通常发生在尝试访问一个空对象引用的方法或...
Java常见异常及其处理 Java编程过程中经常会遇到各种异常,了解这些异常的类型、原因和解决方法是非常重要的。以下是 Java 中常见的异常类型及其处理方法: 1. NullPointerException(空指针异常) 这个异常的...
如果我们传递了错误的参数给方法, Java 将抛出 IllegalArgumentException。 6. IllegalAccessException(无访问权限异常) IllegalAccessException 是无访问权限异常。这种异常通常发生在应用程序尝试调用一个类...
在文档《Java常见异常类型及原因分析(下)》中,介绍了几种常见的Java异常类型及其产生原因,并提供了相应的分析。 首先,ArrayIndexOutOfBoundsException异常是在进行数组操作时最常见的异常之一。这个异常发生在...
尚硅谷大数据之MapReduce_常见错误及解决方案 MapReduce是大数据处理的核心组件,但是在实际应用中,常常会遇到各种错误和问题。下面是常见的10个错误及解决方案: 1. 导包容易出错,尤其是Text和...
运行时的常见错误之一是空指针异常(NullPointerException),这发生在尝试访问尚未初始化的对象引用时。解决方法是检查对象是否已正确实例化,确保在使用前赋予其非null值。另外,数组越界也是常见的编程错误,应...
"java说明文档中文版.pdf"可能包含了以上所有或部分主题的详细解释,包括概念介绍、示例代码、最佳实践和常见问题解答。对于初学者和经验丰富的开发者来说,这都是极有价值的参考资料。阅读这份文档可以帮助你深入...
2. **设计模式**:理解并应用常见的设计模式,如工厂模式、单例模式、观察者模式、装饰器模式等,可以帮助解决常见的设计问题,提高代码复用性和灵活性。 3. **异常处理**:正确地使用try-catch-finally结构,以及...
"JDBC连接Oracle数据库常见问题及解决方法" 本文将对 JDBC 连接 Oracle 数据库常见问题进行总结和解决方法的介绍。以下是针对不同问题的解决方案: 1. Jbuilder 正确连接 Oracle 数据库需要注意的几个问题 在使用...
【SchedulerX常见问题及解决方法1】 SchedulerX是一款强大的任务调度系统,主要应用于Java环境,与Spring框架有良好的集成。本文将针对SchedulerX在实际使用过程中遇到的一些常见问题及其解决方案进行详细阐述。 *...
5. **增大PermGen或Metaspace大小**:如果你看到 `OutOfMemoryError: PermGen space` 或 `Metaspace`,这是方法区溢出,可以通过 `-XX:MaxPermSize` (对于老版本JVM) 或 `-XX:MaxMetaspaceSize` (对于Java 8及以后...
### Java编程常见错误及解决方案 1. **正确使用main方法** 文章通过一休编写的HelloWorld程序,指出很多初学者容易混淆的点,比如main方法的大小写、方法签名、参数名等。通过实际操作和观察编译器的错误信息,...
7. **中文安装说明**:文档中应包含详细的中文指南,解释如何使用JavaService2.0.10,包括步骤、示例和可能遇到的问题及解决方案。这对于不懂英文的用户来说尤其有价值。 8. **兼容性**:JavaService2.0.10应该与多...
### DOS 下的 Java 编译和运行常见问题及解决方案 #### 一、JDK 的重要性及下载 JDK(Java Development Kit)是 Java 开发工具包的简称,它是进行 Java 编程不可或缺的工具集。JDK 提供了一整套用于开发、调试和...
提供的压缩包中包含`JAVA配置文件编写说明文档.pdf`和`说明.txt`,可能是详细的指南或教程,可以帮助你深入理解Java配置文件的编写和使用。`教程阅读器下载.url`和`爱书吧 电子书 教程 让更多人 读更多的书.url`则...