我有一些代码,将查询的结果集放入二维数组中。但是,当数组遇到结果集中的null时,它就会出错。我该如何解决这个问题?
query = "SELECT * FROM E_CMS WHERE BOXADDR_AREA IS NULL ORDER BY CBOXID ASC ";
rs = stmt.executeQuery(query);
//insert the table into the 2 dimensional array
while (rs.next()) {
e_cms_Array[count][0] = rs.getString("CBOXID");
e_cms_Array[count][1] = rs.getString("CBOXADD").replace("'","");
e_cms_Array[count][2] = rs.getString("MFLPU");
e_cms_Array[count][3] = rs.getString("SATLPU");
e_cms_Array[count][4] = rs.getString("BOXTYPE");
e_cms_Array[count][5] = rs.getString("SVCCLASS");
e_cms_Array[count][6] = rs.getString("LOCATION_TYPE").replace("'","");
e_cms_Array[count][7] = rs.getString("CHANGE_DATE");
e_cms_Array[count][8] = rs.getString("DEL_FLAG");
e_cms_Array[count][9] = rs.getString("DECAL_PRINT_DT");
e_cms_Array[count][10] = rs.getString("BOXADDR_AREA").replace("'","");
e_cms_Array[count][11] = rs.getString("LASTMF_AREA_O");
e_cms_Array[count][12] = rs.getString("LASTSAT_AREA_O");
System.out.println(count + " :: " +
e_cms_Array[count][0]+"|"+
e_cms_Array[count][1]+"|"+
e_cms_Array[count][2]+"|"+
e_cms_Array[count][3]+"|"+
e_cms_Array[count][4]+"|"+
e_cms_Array[count][5]+"|"+
e_cms_Array[count][6]+"|"+
e_cms_Array[count][7]+"|"+
e_cms_Array[count][8]+"|"+
e_cms_Array[count][9]+"|"+
e_cms_Array[count][10]+"|"+
e_cms_Array[count][11]+"|"+
e_cms_Array[count][12]);
count++;
}
这个错误没有原因,除非你做了像
这样的事情 e_cms_Array[count][1] = rs.getString("CBOXADD").replace("'","");
用
代替 String s = rs.getString("CBOXADD");
e_cms_Array[count][1] = s==null ? s : s.replace("'","");
或者最好为这个替换写一个容空方法