软件测试作业--开发项目时遇到的问题

 

在完成web大作业时,经常会遇到两个问题,一类是string类型在判断是否相等时发生错误;另一类是当分情况讨论或运用循环时出现空指针报错。

 

1、判断两个string是否相等,不能直接用==或!=,需要用equals()判断,相等则返回1Java中字符串用==比较引用,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避免空指针错误。

 

posted on 2016-03-06 20:11  王一茜  阅读(373)  评论(0编辑  收藏  举报

导航