首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

除开可变参数中的一个参数

2013-03-01 
去除可变参数中的一个参数在String... ids 这个2个参数中有3个值分别是1,2,3 我想买其中的一个参数去除掉

去除可变参数中的一个参数
在String... ids 这个2个参数中有3个值分别是1,2,3 我想买其中的一个参数去除掉怎么做?有人或许会说用list来去除,但是用list去除后怎么把list变成原来的可变参数??? 可变参数?list
[解决办法]
String ... ids和String[] ids一样都是数组。在初始化的时候长度已经定了。所以只能新开辟空间,重新定义一个数组,然后再重新赋值。
public void say(String ... ids){
    String[] newIds = new String[2];
    System.arraycopy(ids, 0, newIds, 0, newIds.length);
    ids = newIds;
    // TODO
}
[解决办法]
既然叫参数,那就该明白所谓可变只是针对当前参数定义而言。
另外纠正一个错误,这不是可变数组,ids在运行时是定长的。

所以调用say方法的时候直接把数组传过去就行,无论你传递的参数是有2位还是3位。

热点排行