java.lang.NullPointerException的可能原因及处理
更新时间:2023-07-31 12:19:01 阅读量: 教育文库 文档下载
java.lang.NullPointerException的可能原因及处理
java.lang.NullPointerException具体意思是空指针异常,最常见的问题就是没有初始化。
字符串等数据类型没有初始化
类实例(对象)有用具体的类初始化
没有判断是否为空
Eg:
源码:
1 public static BookInformation[] ImFromClassification(String a){ 2
Connection conn = null; 3
PreparedStatement ps = null; 4
ResultSet rs = null; 5
try{ 6
int x = 0; 7
conn = LinkMysql.getDBconnection(); 8
if(conn == null){System.out.println("conn");} 9
String sql="select * from bookinformation where classification=?";10
ps = conn.prepareStatement(sql);11
ps.setString(1, a);12
rs = ps.executeQuery();13
rs.beforeFirst();14
while(rs.next()){15
++x;16
}17
System.out.println(x);18
BookInformation[] a1 = new BookInformation[x];19
rs.first();20
for(int i = 0; i < x; i++){21
//a1[i] = new BookInformation();22
a1[i].setName(rs.getString("name"));23
a1[i].setAuthor(rs.getString("author"));24
a1[i].setClassification(rs.getString("classification"));25
a1[i].setAmount(rs.getInt("amount"));26
a1[i].setPrice(rs.getInt("price"));27
a1[i].setSalvesVolum(rs.getInt("sales_volum"));28
rs.next();29
}30
return a1;31
32
} catch (SQLException e) {33
System.out.println("xxx");34
return null;35
}36
finally{LinkMysql.closeDB(conn, ps, rs);}37
38 }
报错:
1 root cause
2
3 java.lang.NullPointerException
4 Dao.BookInfor.ImFromClassification(BookInfor.java:31)
5 org.apache.jsp.front.home_jsp._jspService(home_jsp.java:120)
6 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
7 javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
8 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
9 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
10 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
11 javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
12 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
分析:
数组定义(BookInformation[] a1 = new BookInformation[5])之后,没有对每个数组元素初始化。
更改:
1 public static BookInformation[] ImFromClassification(String a){
2 Connection conn = null;
3 PreparedStatement ps = null;
4 ResultSet rs = null;
5 try{
6 int x = 0;
7 conn = LinkMysql.getDBconnection();
8 if(conn == null){System.out.println("conn");}
9 String sql="select * from bookinformation where classification=?";
10 ps = conn.prepareStatement(sql);
11 ps.setString(1, a);
12 rs = ps.executeQuery();
13 rs.beforeFirst();
14 while(rs.next()){
15 ++x;16 }
17 System.out.println(x);
18 BookInformation[] a1 = new BookInformation[x];
19 rs.first();
20 for(int i = 0; i < x; i++){
21 a1[i] = new BookInformation();
22 a1[i].setName(rs.getString("name"));
23 a1[i].setAuthor(rs.getString("author"));
24 a1[i].setClassification(rs.getString("classification"));
25 a1[i].setAmount(rs.getInt("amount"));
26 a1[i].setPrice(rs.getInt("price"));
27 a1[i].setSalvesVolum(rs.getInt("sales_volum"));
28 rs.next();
29 }
30 return a1;
31
32 } catch (SQLException e) {
33 System.out.println("xxx");
34 return null;35 }
36 finally{LinkMysql.closeDB(conn, ps, rs);}
37
38 }
正在阅读:
java.lang.NullPointerException的可能原因及处理07-31
普定风光11-05
化学材料的发展与服装的改变04-17
新世纪大学英语视听说3(第三版)听力原文08-09
终审决赛获奖名单(一)04-04
润物细无声——浅谈中国画欣赏教学05-10
制度委员长岗位职责03-31
北信通信电子线路考试题及答案09-19
曼彻斯特编码与差分曼彻斯特编码11-25
论马克思主义的时代意义03-16
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- NullPointerExcep
- 原因
- 可能
- 处理
- java
- lang
- tion
- 电脑新增加一块硬盘安装并使用的教程
- 2022年中华人民共和国清洁生产促进法
- js读取解析JSON数据
- 2022年车辆工程专业就业前景如何
- 浅谈CSS3中display属性的Fle布局
- 老照片如何使用PS修复旧照片修复教程
- 衣服上的油渍怎么去除小窍门简单,衣服上的油渍怎么洗掉,衣服上的油渍怎么去掉
- CSS清除浮动大全共8种方法
- 传统端午节的来历和习俗
- 中国餐桌礼仪的常识,中国餐桌礼仪禁忌,中国餐桌礼仪须知事项
- 双网卡同时上网如何设置双网卡同时上内外网设置教程
- 蒲公英和什么一起泡水喝最好蒲公英泡水四类人必喝
- 手机掉水里了怎么办手机掉水里怎么处理(方法整理)
- 2022年醉驾处罚标准
- 单相电机正反转接线图_220v正反转实物接线图_单相电机正反转原理图
- yy公会马甲格式大全
- ai未保存文件的两种找回方法
- H5新手教程,小白来看看。?
- 【Linux】Linux中常用操作命令
- 售后咨询技巧-试题答案x