黑马程序员技术交流社区

标题: java中能动态分配数组吗? [打印本页]

作者: 罗宝    时间: 2012-11-10 18:00
标题: java中能动态分配数组吗?
本帖最后由 罗宝 于 2012-11-11 14:40 编辑

java中能动态分配数组吗?
作者: 廖力    时间: 2012-11-10 19:59
不太清楚楼主说的动态分配是指什么动态...
我记得从C开始都可以动态分配的
比如
  1.  
  2. int* pInt;
  3. pInt = (int *) malloc (sizeof(int)*16);//分配16个(可根据实际需要替换该数值)整型存储单元,并将这16个连续的整型存储单元的首地址存储到整形指针变量p中
复制代码
java中更好点 你不用管内存的
  1.  
  2. int[] pInt = null;//申明int数组
  3. pInt = new int[16];//分配16个整型存储单元
复制代码
如果觉得数组不好用还有ArrayList<?>类可以使用
ArrayList<?>类有数组的所有功能,大小随着你的使用自增自减
它实现的接口有:
Serializable——可序列化
Cloneable——可克隆
Iterable<E>——可以使用1.5特性foreach
Collection<E>——容器总接口
List<E>——对容器中每个元素的位置精确的控制
RandomAccess——支持快速随机访问

以上是我自己的看法不知道对不对...
作者: 唐永康    时间: 2012-11-10 20:52
如果你指的是动态数组的长度,这个应该不能,数组最大的特点就是长度一旦确定就不能修改,否则会出角标异常,比如越界异常。对于数组这种不能动态分配的不足,所以才出现了集合这么一东西,弥补了这个缺点。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2