日期:2014-05-20  浏览次数:20751 次

赋值的时候产生了空指针异常,麻烦大家帮我看下程序,只有几行的程序
public   class   test   {

public   static   void   main(String[]   args)   {
int[]   a=null;
for(int   k=0;;k++)
{
a[0]=k;
System.out.println(k);
}

}

}

------解决方案--------------------
int[] a=null;

你的a根本没有指向对象啊;
你要用就的指向对象,如a=new int[1];
------解决方案--------------------
试用变量前要初始化。
------解决方案--------------------
int[] a=null;

你还没有给它开僻空间啊,需要给它指定空间大小,否则它指向的是 null,就报空指针了。这里的 a 已经不是基本类型了,而是一个对象,对象总要进行初始化的。

int[] a = new int[4];
------解决方案--------------------
下面这个图能说明问题。

int[] a = null;
这样仅创建了一个数组对象 a,也就是下图中最左边的那一小块,由于没有空间(其实指向了 null),在进行赋值时由于指针指向了 null,所以就会抛出空指针异常。

int[] a = new int[4];
这样既创建了数组对象 a,又给它开僻了 4 个用于存放 int 型数据的空间。

+-----+    +------+
| a | ----> | a[0] |
+-----+    +------+
       | a[1] |
       +------+
       | a[2] |
       +------+
       | a[3] |
       +------+