避免NullPointerException异常的几种常用方法
来源:互联网 发布:08定额预算软件 编辑:程序博客网 时间:2024/06/04 19:29
在写JAVA程序的时候,特别是jsp/servlet之类的东西,经常会有这样一种情况:当然你辛辛苦苦地打下了千百行字母的时候,写完最后一个大括号;当你运行这个程序进行调试时,忽然出现NullPointerException的字样,你是不是很懊丧呢。在以前我肯定会随手拿起桌上的杯子砸了。
经过了一年多的打字母经历,我渐渐的总结出了一些经验,关于NullPointerException这个恶棍。
NullPointerException这个异常出现在处理对象时对象不存在但又没有捕捉到进行处理的时候,但是在JAVA里面它又是被大多断片的类所抛出,所以它经常会不经意的出现在你的面前。在api里的原文说明是这样的:Thrown when an application attempts to use null in a case where an object is required. These include:
* Calling the instance method of a null object.
* Accessing or modifying the field of a null object.
* Taking the length of null as if it were an array.
* Accessing or modifying the slots of null as if it were an array.
* Throwing null as if it were a Throwable value.
(1)据我自己的统计,在我的代码中,出现频率最多的类是String.class,因此我们就以String为例来看一下怎么避免在使用这个类的时候遇到NullPointerException。
从JAVA的源代码来看,String这个类一共在两个地方就抛出了NullPointerException这个异常,一个是String的一个构造方法,一个是toLowerCase这个方法,所以在用到这两个方法的时候最好捕捉一下异常。
(2)在jsp中经常会有一些form来提交表单给服务器,但是有时候表单项并没有填,那么在jsp程序对传上来的数据进行处理时,就会有异常出现。这时就要在使用这些数据前进行一次判断,如:
(3)还有在使用JDBC的时候,ResultSet这个对象使用的时候也会经常有NullPointerException异常,一般来说ResultSet出现这个问题主要是sql不对的原因。
(4)、另外就是创建数组时,java中创建对象不会自动分配内存,这与C语言有不同之处。如
JButton []btnGroup=new JButton[20];
for(int i=0;i<btnGroup.length();i++)
btnGroup[i]=new JButton();
这样的话就可以避免出现这类异常
- 避免NullPointerException异常的几种常用方法
- 避免NullPointerException异常的几种常用方法
- 避免NullPointerException异常的几种常用方法
- 如何避免内存泄漏、溢出的几种常用方法
- Java中避免NullPointerException的一些方法
- Java中避免NullPointerException的一些方法
- Java中避免NullPointerException的一些方法
- Java中避免NullPointerException的一些方法
- 避免死锁的几种常见方法
- 避免Java的NullPointerException
- java应用避免NullPointerException的最佳方法@NotNull的使用
- Java String字符串类的equals方法如何避免NullPointerException
- 关于Java空指针异常的几种情况的总结(java.lang.NullPointerException)
- 如何更好的避免NullPointerException
- NullPointerException异常的原因
- NullPointerException异常的解决方案
- NullpointerException异常的产生
- NullPointerException异常的原因
- java解析XML
- Common MIPS Instructions
- 数据库零起步—NVL( string1, replace_with) 函数
- Unix&Linux大学教程:18 过滤器:统计和格式化
- symbian 声音提示和震动提示的开发
- 避免NullPointerException异常的几种常用方法
- Emacs
- jquery取出html标签中的内容
- call stack
- TCP/IP协议——TCP协议
- 快五一的,呵呵!
- CMemDC 源码
- Python学习笔记--简单实现DNS查询
- ubuntu11.04发售啦