java动态定义二维数组问题

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

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

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

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

Code:
  1. //对于自定义的类,当用它定义对象数组时,不仅要初始化元素的个数,还要new出每个数组元素,  
  2. //才真正初始化出了对象数组,才可以进行赋值等操作,否则就会出现NullPointerException(空指针异常)!  
  3. class MultiDimensionArray // 一个自定义的类,用于定义**数组来测试用。  
  4. {  
  5.     public int a; // 定义成员变量a  
  6.     public int b; // 定义成员变量b  
  7.   
  8.     public MultiDimensionArray() // 无参构造函数  
  9.     {  
  10.         this.a = 0;  
  11.         this.b = 0;  
  12.     }  
  13.   
  14.     public MultiDimensionArray(int i, int j) // 有参构造函数  
  15.     {  
  16.         this.a = i;  
  17.         this.b = j;  
  18.     }  
  19. }  
  20.   
  21. public class ArrayDefinition {         //在这个类中,将使用上面的类来定义对象数组。  
  22.     public static void main(String[] args) {  
  23.         MultiDimensionArray objArray[][] = new MultiDimensionArray[3][]; //按你的方式定义一个对象数组!  
  24.         objArray[0]=new MultiDimensionArray[3];  //定义第一行的列数  
  25.           
  26.         objArray[0][0].a = 88;//此时这一句就出现NullPointerException,因为对象objArray[0][0]本身还没new出来!  
  27.           
  28.         objArray[0][0]=new MultiDimensionArray();  //new出objArray[0][0]来,给该分配了空间。  
  29.           
  30.         objArray[0][0].a = 88;  //此时这条语句就没错了。  
  31.         //同理,对于自定义对象数组,要通过循环new出每个元素之后,才可以给它们赋值!  
  32.     }  
  33. }  

 最后,再次感谢一下老师!老师真的很有耐心!


ps:我的新博客地址:http://www.xinghaixu.com

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值