如何double数组的长度 速答速结

一头头 2008-11-12 11:36:35

private T[] entry;
....
entry = new Object[2*entry.length];


上面的方法为什么不可以? 应该怎么样?
...全文
215 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
一头头 2008-11-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ZangXT 的回复:]
建议阅读ArrayList类的代码
[/Quote]

先用数组实现线性表 ArrayList实现 是后面一节 呵呵 给分了
ZangXT 2008-11-12
  • 打赏
  • 举报
回复
建议阅读ArrayList类的代码
ZangXT 2008-11-12
  • 打赏
  • 举报
回复
entry = (T[])new Object[2*oldSize];
一头头 2008-11-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ZangXT 的回复:]
Java code
Object[] objs = new Object[10];
Object[] temp = objs;
objs = new Object[objs.length*2];



没有问题。
你报什么错误?
不会是都直接写在class定义里了吧,或者开始数组为空的时候就使用数组的length了?
[/Quote]



public class ExpandableArrayList<T> {

private T[] entry;
private int length;
private static int initialCapacity = 10;

public ExpandableArrayList(int maxSize){
length = 0;
List = (T[] new Object[maxSize]);
}

//在末尾插入新元素
public boolean add(T newEntry){
if(isArrayFull()) //如果数组满了 使用isArrayFull方法判断
doubleArray(); //那么就扩大一倍 使用doubleArray方法
entry[length] = newEntry;
length++;
return true;
}

public boolean isArrayFull(){
return length == entry.length;
}

private void doubleArray(){
T[] oldEntry = entry;
int oldSize = oldEntry.length;
//entry = new Object[2*oldSize]; 这句是错误的 我就想知道这个是为什么
}
public static void main(String[] args) {
// TODO Auto-generated method stub

}

}
cydp007 2008-11-12
  • 打赏
  • 举报
回复

System.out.println(Double.SIZE);

}
一头头 2008-11-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java2000_net 的回复:]
请问: entry.length 到底是多少?
[/Quote]

这个问题不是很大 就算是10好了 里面放10个东西

我就想问问 我上面的这个方法可以实现吗
ZangXT 2008-11-12
  • 打赏
  • 举报
回复

Object[] objs = new Object[10];
Object[] temp = objs;
objs = new Object[objs.length*2];

没有问题。
你报什么错误?
不会是都直接写在class定义里了吧,或者开始数组为空的时候就使用数组的length了?
gmh521 2008-11-12
  • 打赏
  • 举报
回复
父类赋给子类要强制造型的
老紫竹 2008-11-12
  • 打赏
  • 举报
回复
请问: entry.length 到底是多少?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧