改变数组的大小,我在Java还挺新的,我想端口从C#世界的java这里我的经验是代码:无法在运行在Java
public class TestBasket {
private Item[] shops = {} ;
int arraysIndex=0;
public static void main(String argc[]){
TestBasket tb = new TestBasket();
try{
tb.storeItems(new Item("test", 100));
}
catch(Exception e){
System.out.println("Error");
System.out.println(e.toString());
}
}
public void storeItems(Item it){
if (arraysIndex >= shops.length){
///resizeArray(shops);
System.out.println("the count of length is" + shops.length);
cpArr(shops);
System.out.println("the count of length is" + shops.length);
}
shops[arraysIndex] = it;
arraysIndex++;
}
//this is a generic method to resize every kind of array
public Item[] cpArr(Item[] arr){
Item[] retArr = Arrays.copyOf(arr, arr.length + 10);
return retArr;
}
}
执行程序后,我将得到这个消息:
长度IS0
长度IS0
错误
java.lang.ArrayIndexOutOfBoundsException:0
这意味着仍然阵列的长度是零,这不应该是零。 我很困惑我哪里错了?
关于。
我得到我的回答是我的错,我必须得到retrun值作为结果,我并没有这样做。
既然你已经知道了它,它似乎是微不足道的,请删除问题。 –
或更恰当地说,接受正确的答案。 –