java 二维数组清空 的问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 23:43:15
String[][] jcxm=new String[1000][2];

在一个2层循环里 有
jcxm = null;
然后再赋值就错了:
jcxm[jcxm_len][0] = Rst_jcxm.getString("jcz1dydm");

java.lang.NullPointerException

能详细说明原因吗?
还有就是 这个程序写好了后用了几天 今天就卡这了 初学JAVA 希望知道清楚一些!

new String[1000][2] 表示在堆内存中分配1000行2列的String类型的数组。
String[][] jcxm=new String[1000][2] 表示在jcxm中保存了String数组的一个引用(用c++的思想就是,jcxm这个指针指向String数组),也就是保存String数组的地址。

jcxm = null 表示清空jcxm中保存的引用(jcxm不指向任何东西),jcxm不保存任何对象的地址。

所以:
jcxm[jcxm_len][0] = Rst_jcxm.getString("jcz1dydm");
才会报空指针异常。