当然不可以,形象的说你有200个空间,你现在分配了100个空间,还有一百个空间没有分配使用,这时候就可以从剩下的100个空间中取空间来用,可能现在就用了100-150的空间,数组的内存空间是连续的,你如果直接使用这101的话肯定就覆盖了其它数据了。
数组空间是静态分配的,就是初始化的时候就分配好了的,你如果需要修改就要使用链表之类的动态分配空间的类,学过数据结构应该都知道链表的使用。
Java数组声明后是不能改了
int[] socre = new int[100]; 中
socre只是指向int[100]; 的引用
int[101]这个语句是重新申请了一块空间,然后把引用返回给了socre
如果你想改变大小可以用ArrayList
List list = new ArrayList();
ArrayList简单的理解就是可变大小的数组,当然性能上比数组要稍弱
int[] socre = new int[100]; 然后再改为socre = new int[101]; 是可以的.但是你并没有改变它的大小.只是改变了它引用的对象(也就是说你换了个数组,原来的数组还在那里,大小根本都没有改变过).
你要是想存储不知数量的对象(不定长),你最好用集合.它很方便,易用!
跟你打个比方,像是int
a
,a=1;a=3;a先赋值为1,后又将其值改为3是相似的意思,首先创建了
s,后又重新再创建了一个,其名也为s,故而s长度改变了
不行. 如果你不能确定长度的话,建议用集合来做