设为首页 加入收藏

TOP

Java动态定义二维数组问题
2014-11-24 03:17:21 】 浏览:2729
Tags:Java 动态 定义 二维数 问题

想将查询数据库的内容复制到二维数组中,但是总是NullPointerException,提示空指针的异常。


反正我是自己研究了一个晚上,百度上看了很多的关于动态初始化二维数组的文章,但是就是没找到我这种情况的。


无奈之下,我厚着脸皮向我的指导老师发出了请求的邮件,老师在百忙之中,还是很细心的为我解答。我看到老师回复的邮件豁然开朗。


下面将邮件的内容与大家分享!


//对于自定义的类,当用它定义对象数组时,不仅要初始化元素的个数,还要new出每个数组元素,
//才真正初始化出了对象数组,才可以进行赋值等操作,否则就会出现NullPointerException(空指针异常)!
class MultiDimensionArray // 一个自定义的类,用于定义**数组来测试用。
{
public int a; // 定义成员变量a
public int b; // 定义成员变量b

public MultiDimensionArray() // 无参构造函数
{
this.a = 0;
this.b = 0;
}

public MultiDimensionArray(int i, int j) // 有参构造函数
{
this.a = i;
this.b = j;
}
}

public class ArrayDefinition { //在这个类中,将使用上面的类来定义对象数组。
public static void main(String[] args) {
MultiDimensionArray objArray[][] = new MultiDimensionArray[3][]; //按你的方式定义一个对象数组!
objArray[0]=new MultiDimensionArray[3]; //定义第一行的列数

objArray[0][0].a = 88;//此时这一句就出现NullPointerException,因为对象objArray[0][0]本身还没new出来!

objArray[0][0]=new MultiDimensionArray(); //new出objArray[0][0]来,给该分配了空间。

objArray[0][0].a = 88; //此时这条语句就没错了。
//同理,对于自定义对象数组,要通过循环new出每个元素之后,才可以给它们赋值!
}
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇块设备驱动编写总结 下一篇HTML5中Web存储方式

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目