问题是这样的:我想往map中存储值。这是源码:
public Map<String, Integer> getTag() {
DBConnection dbc = new DBConnection();
Map<String, Integer> map = null;
Connection conn = null;
ResultSet rs = null; try {
conn = dbc.getConn();
PreparedStatement pstmt = null;
String sql = "select test, tag from controller";
pstmt = dbc.getSql(conn, sql);
rs = pstmt.executeQuery();
while(rs.next()) {
System.out.println(rs.getString("test"));
System.out.println(rs.getInt("tag"));
map.put(rs.getString("test"), rs.getInt("tag"));
}

dbc.close(pstmt);
dbc.close(conn);
} catch (SQLException e) {
e.printStackTrace();
}
return map;
}
其中test字段,tag字段分别为string,int类型!!运行会报java.lang.NullPointerException!!为什么呢??

解决方案 »

  1.   

    你map初始化还是null,故报空指针,new下再用撒!
      

  2.   

    Map<String, Integer> map = null;
    改为Map<String, Integer> map = new HashMap<String, Integer>();
      

  3.   


    三楼正解,MAP是NULL状态,都没初始化,放不进东西,所以报空指针异常。
      

  4.   

    空指针异常的时候可以根据具体的行号对应到具体的null对象!
      

  5.   

    呵呵,问题楼上几位大大都说出来了,Map只是个接口,你要对他实例化。
    明显你是个新人,建议你找本基础书好好的看一遍。打好基础。对你有好处的。