首页新闻招聘找找看知识库

Java中的可变参数

0
[待解决问题]

Java中如果函数的参数有可变参数,则只能放在函数参数的末尾,看到过一种说法是,可变参数可以匹配任意多个相同类型的参数,但是如果最后一个参数类型与可变参数的类型不一样,不就说的过去了吗?还是说Java语法规定的,可变参数只能放在函数参数的最后。

例如:function method(int num1, String ... str, int num2)

蓦然回首,那人却在灯火阑珊处。的主页 蓦然回首,那人却在灯火阑珊处。 | 菜鸟二级 | 园豆:204
提问于:2018-02-13 16:52
< >
分享
所有回答(2)
0

既然是可变参数列表,那么如果不放在最后的话,假设最后一个参数不属于可变列表的参数。那么为什么不把最后一个参数放在可变参数列表前面呢?把它放在可变参数后面完全没有意义。

一剑侵心 | 园豆:281 (菜鸟二级) | 2018-02-13 19:36

参数位置不同可以实现方法的重载

0

查了一下资料,还是避免歧义吧,你例子是没有歧义,但
method( int ... num1, int ... num2 )
就有歧义了,到底哪些参数是参数1的,哪些参数是参数2的,就不好确定了

流年飞雨 | 园豆:1048 (小虾三级) | 2018-02-14 00:46

你这个例子是有歧义的,关键我的例子没有歧义,就是语法不支持吗?

@蓦然回首,那人却在灯火阑珊处。: 既然可能有歧义,那就不行
参考这个,感觉只有一个可变参数,不一定要放到最后也不应该有问题[Java中方法内的可变参数怎么使用]
(https://zhidao.baidu.com/question/684867947047002732.html)

支持(0) 反对(0) 流年飞雨 | 园豆:1048 (小虾三级) | 2018-02-15 02:47

@一座城你说你不懂: 可变参数必须放在最后的

@蓦然回首,那人却在灯火阑珊处。: 是的

支持(0) 反对(0) 流年飞雨 | 园豆:1048 (小虾三级) | 2018-02-17 00:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册