黑马程序员技术交流社区
标题:
Java可变参数比数组参数好在哪里
[打印本页]
作者:
waylent
时间:
2014-10-12 00:10
标题:
Java可变参数比数组参数好在哪里
class VarargsDemo{
public static void main(String[] args) {
printMany1();//也可以不传入参数
printMany1(1);
printMany1(2,3);
printMany1(4,5,6);
}
public static void printMany1(int... varargs){
for (int i=0;i<varargs.length;i++ ) {
System.out.print(varargs[i]+" ");
}
System.out.println();
}
}
复制代码
虽然学了,但是不知道什么时候用?
作者:
HM2014nuli
时间:
2014-10-12 08:01
本帖最后由 HM2014nuli 于 2014-10-12 08:12 编辑
楼主你好,你拿数组做下比较就知道,可变参数的好处了,其实可变参数最大的好处就是不用像数组那样当参数个数不一样时,又需要自己再去new一个数组出来,这样是比较耗资源的(虽然不多,积少成多),而且代码臃肿,用可变参数却可以解决这些问题,你可以传1个,3个,10个,或者不传都可以(但数组做不到这一点,你指定几个,就只能传几个,写的比较死)
这样解释可能有点不是很妥当,但你只要记住他们参数的差别,一个是固定的个数,一个是可变的个数
作者:
康师傅-蛋黄派
时间:
2014-10-12 09:04
学习的路过,表示没看懂
作者:
mingtianrsm
时间:
2014-10-12 09:25
按照我的理解,可变参数是把数组的封装和应用打包了。用数组在普通里的代码就是你必须要先创建数组,然后才能调用你的那个函数,而可变参数就直接把内容直接传给函数;二在项目里,我们得到的数据一般都是输入的,这是如果用数组,那么就需要先定义一个函数来就收数据封装成数组,然后才能传给那个函数,而用可变参数的话,就可以直接接收了。
作者:
黄小橙
时间:
2014-10-12 09:28
new一个新数组会耗费内存的
作者:
new999
时间:
2014-10-12 09:59
语法糖,方便代码书写。可变参数底层就是Object[]
作者:
yueyazhishang
时间:
2014-10-12 10:50
从名字你就应该发现好处
作者:
会飞的蜗牛
时间:
2014-10-12 12:12
就像面向接口编程。你这样写UserServiceImp u = new UserServiceImp();肯定没错。但是你如果这样写UserService u = new UserServiceImp();不是更好吗
作者:
面具猴
时间:
2014-10-12 13:11
可变参数其实只是方便了使用,在JVM中还是把他变成数组进行处理的,上面的有些回答说用数组会耗费资源其实不大正确。
在使用时当参数的类型一致但个数不固定时用可变参数,凡是能用可变参数的地方都能用数组。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2