作为一个刚学java的小白 真是错误百出 下面就是一个大神会非常不屑的一个小错误

数组在初始化的时候仅仅是定义了一个数组,并未其中的内容初始化。

附上错误代码

class student
{
public int grade=1;
}

 

public class array {
 
 public static void main(String [] args)
 {
  student rong[]=new student[5];
  for(int i=0;i<rong.length;i++)
  {
   rong[i].grade=(-1)*i;
  }
  Arrays.sort(rong, new E());
  
 }

}//这只是部分代码,代码不完整

student rong[]=new student[5];

这里出现了错误,应该将其中的类在再进行一步初始化:

for(int i=0;i<rong.length;i++)

{

rong[i]=new student();
}

或者改为:

student rong[]=new student [] {new student(),new student(),new student(),new student()};

但是我还是不理解student rong[]=new student[5];这样不就已经为数组分配5个student空间了吗,为什么会出现这种错误呢!

抛出的异常为Exception in thread "main" java.lang.NullPointerException;