关于在java数组末尾添加元素的问题

package test_ArrayUtils.add;

import org.apache.commons.lang.ArrayUtils;

public class test_ArrayUtils_add {

static int[] test = {0};

public static void main(String[] args){

for(int i = 1; i < 10; i++){

ArrayUtils.add(test, i);

}

System.out.print(test.length);
}
}

为什么最后的输出是1而不是10?应当如何修改?

没用过arrayutils的add方法 但估计应该是返回一个数组
你输出的是test的长度 数组长度不变 所以肯定是test的长度 一开始就定了 就是1
应该重新new一个数组去接收add后的值 然后输出长度应该就是10了
int[] test1 =new int[10];

test1 = ArrayUtils.add(test, i);

System.out.print(test1.length);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-27
楼下想法和我一样,ArrayUtils.add()方法应该是生成了一个新数组,而不是对原数组直接进行修改。它做的应该是拷贝原数组,在数组末尾添加元素,然后将新数组返回。而你打印的是原数组test的长度,所以仍然是1。