`
xcxinghai
  • 浏览: 31632 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java动态定义二维数组问题

 
阅读更多

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

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

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

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

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

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


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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics