Java新手备忘录[1]:对象数组的每一个成员都要单独分配空间
2010-12-05 12:16
190 查看
某实现hashtable的类中,私有成员定义
private ArrayList<T>[] arr;
在构造函数中分配空间
arr = new ArrayList<T>[initSize]; //出错,无法编译
解决方法一:
更改为arr = new ArrayList[initSize] 为arr分配raw类型
解决方法二:
更改为arr = (ArrayList<T>[])new ArrayList[initSize] 将分配给arr的raw类型强转为T类型
不管哪一种解决方法,都会产生运行时错误(java.lang.NullPointerException),理由是arr数组的成员并未分配空间
解决方法:
分配空间时追加
for(int i=0;i<initSize;i++)
arr[i] = new ArrayList<T>();
private ArrayList<T>[] arr;
在构造函数中分配空间
arr = new ArrayList<T>[initSize]; //出错,无法编译
解决方法一:
更改为arr = new ArrayList[initSize] 为arr分配raw类型
解决方法二:
更改为arr = (ArrayList<T>[])new ArrayList[initSize] 将分配给arr的raw类型强转为T类型
不管哪一种解决方法,都会产生运行时错误(java.lang.NullPointerException),理由是arr数组的成员并未分配空间
解决方法:
分配空间时追加
for(int i=0;i<initSize;i++)
arr[i] = new ArrayList<T>();
相关文章推荐
- java数组创建了指针,而没有为对象分配空间
- java"动态分配数组容量"-键盘输入几个数,相应分配多大空间
- java 数组分配空间的多种方式对比
- java创建对象内存分配空间及其原理一
- c++类的成员函数在定义对象前分配了存储空间吗?
- java面向对象之成员变量和局部变量 以及他们的内存分配
- Java学习笔记41. 把对象作为类的成员字段使用
- java中Json对象与json数组
- Java核心技术很优美的代码3 实现数组的动态分配
- Java基础-数组的内存分配
- java面向对象-成员变量和局部变量
- Criteria联合分组查询+bject转对象,java实现Object转实体类备忘录
- java集合或对象转化为json数组或者对象的方法
- java对象与byte[]数组之间的相互转化,压缩解压缩操作
- Java中的数组对象
- java和js中遍历数组和对象的总结
- java对象怎么转json数组
- Jedis存储Java对象--Java序列化为byte数组方式
- 【JAVA】初始化数组并实例化Random类对象输出
- java 数组变量与数组对象