作为一个刚学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;