public Address queryAddress(int addId){
try{
Connection conn =super.getConn();
String sql ="select addressid ,addstreet from address where addressid=?";
PreparedStatement ps = conn.prepareStatement(sql);
System.out.println(sql);
ps.setInt(1, addId);
ResultSet rs = ps.executeQuery();
while(rs.next()){
add.setAddressid(rs.getInt("addressid"));
add.setAddstreet(rs.getString("addstreet"));
}
rs.close();
ps.close();
conn.close();
}catch(Exception e){
e.printStackTrace();
}
return add;
}
粗体部分为疑问代码,
首先这个代码段是正常执行的,
当我将黑体代码更换为
结果在传数据时出现空指针异常,
我想知道这个问题的详细说明,求大神指教
Address add = null; 时
你怎么还能add.setAddressid()。。它里面的全为Null。所以肯定报错啊
你就相当于写了add.setAddressid(rs.getInt("addressid"))---》null=rs.getInt("addressid")
address add=null; 相当于你只声明了一个address的对象,名为add里面是空的,并不会用set.get方法。