标签:
在完成web大作业时,经常会遇到两个问题,一类是string类型在判断是否相等时发生错误;另一类是当分情况讨论或运用循环时出现空指针报错。
1、判断两个string是否相等,不能直接用==或!=,需要用equals()判断,相等则返回1。Java中字符串用==比较引用,equal比较值,其中不同的声明方法对字符串的直接比较也有影响。
例如: String str1=new String("a"); String str2=new String("a"); str1==str2 输出false str1.equals(str2) 输出true 而如果这样声明 String str1="a"; String str2="a"; str1==str2 输出true str1.equals(str2) 输出true
一般情况可以写成两种方法的“或”来判断。
2、空指针经常出现在对象没有具体的类初始化,或者对象的值可能为空。在写web中的分页处理时,有时会出现编译时没有错误但是运行时报错的情况。这时抛出异常的原因就像在写用户登录功能时,最开始只是判断了管理员和普通用户登录的情况,而当用户提供的表单域“username”为空时,不能够将一个null的对象与另一个对象直接比较,同样,代码段所在的JSP页面就会抛(Java.lang.NullPointerException)空指针错误。分页处理时翻页时要判断页码的范围,如果页码为两个边界值则会抛出空,这时页面就会进入最开始的页面。
可以在debug模式下设置断点,单步跟踪,从上往下查找,或者在抛出异常的堆栈信息中查找。多用逻辑判断以及try catch避免空指针错误。
标签:
原文地址:http://www.cnblogs.com/Cartisia/p/5248391.html