学到可变参数这一块,碰到了很多问题,查完以后,知道了可变参数的一些用法:
1)可变参数只能位于最后一个参数:
那问题就来了。我定义一个方法:public void show (int...args,String str){}
然后我调用的时候:show(1,2,3,“hellojava”)这样传参数。
在MyEclipse中会提示小红叉:the variable argument type int of the method show must be the last parameter
但是很直白的想,前面的int参数传给args的数组,最后一个自然传给String str,道理上说的通呀,为什么JVM不让呢?
不知道源代码是怎么写的。
2)参数只能有一个可变参数:
那问题如果我想产生这样的函数:public void show(int...in,String...str),编译时错误的。
那如果我有这样的需求(需要传入多个可变参数),而又不能使用可变参数,那是不是很麻烦,有什么可以解决这个弊端的吗。
PS:
讲的逻辑差了点,大家将就着看吧,呜呜
|