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

packagetest_ArrayUtils.add;importorg.apache.commons.lang.ArrayUtils;publicclasstest_A... 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?应当如何修改?
展开
 我来答
抗鸿德8A
2014-07-27 · 超过35用户采纳过TA的回答
知道答主
回答量:121
采纳率:0%
帮助的人:64.9万
展开全部
没用过arrayutils的add方法 但估计应该是返回一个数组
你输出的是test的长度 数组长度不变 所以肯定是test的长度 一开始就定了 就是1
应该重新new一个数组去接收add后的值 然后输出长度应该就是10了
int[] test1 =new int[10];

test1 = ArrayUtils.add(test, i);

System.out.print(test1.length);
forpictures
2014-07-27
知道答主
回答量:4
采纳率:100%
帮助的人:5413
展开全部
楼下想法和我一样,ArrayUtils.add()方法应该是生成了一个新数组,而不是对原数组直接进行修改。它做的应该是拷贝原数组,在数组末尾添加元素,然后将新数组返回。而你打印的是原数组test的长度,所以仍然是1。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式