求助 jsp 查询mysql nullpointer exception错误 空指针错误 代码如下 第45行
发布网友
发布时间:2022-08-19 04:51
我来回答
共1个回答
热心网友
时间:2023-10-22 08:35
我这里的45行代码是String date = ((Map)qList.get(i)).get("INSERTTIME").toString();,不知道对不对。
看了你的这段代码,觉得问题虽然不大,但还是有的,主要是变量的非空判断上有问题。如List qList = sta.getNewQuery();实际情况下,将不确定sta.getNewQuery();方法是否能够返回一个非空的list,如果返回null,下文中for (int i = 0; i <qList.size(); i++) 将抛出空指针异常。但实际上,你的这个问题不是由此处导致的,而是由循环体内的String date = ((Map)qList.get(i)).get("INSERTTIME").toString();导致的。看你的注释
//得到包含mac、ver和date的List
List qList = sta.getNewQuery();
这里的qList中的对象似乎本来就不包含INSERTTIME字段对应的值,那么你在45行代码处调用((Map)qList.get(i))取qList中第i个对象,并强制转换到Map类型,然后.get("INSERTTIME"),到此处,仍然是不会有问题的,但是你却偏偏又调用了.toString();因为.get("INSERTTIME")返回了null,在null上调用任何方法,都是要抛出空指针异常的,这也是你遇到的问题的关键。