在方法参数中使用多个varags?

时间:2015-09-16 05:43:31

标签: java

在java中有没有办法创建一个方法,期待两种不同的变量?我知道,由于编译器不知道从哪里开始或结束,因此使用相同的对象类型是不可能的。但为什么它也不可能与不同的对象类型?例如:

private void ask(int... x, String... b) { }

请解释一下!

2 个答案:

答案 0 :(得分:0)

Java不支持多个varargs。 声明varargs的规则。

  • Var-arg类型声明var-arg参数时,必须指定 您的方法的此参数可以接收的参数的类型。 (这个可以 是原始类型或对象类型。)
  • 基本语法要使用var-arg参数声明方法,请按照 键入省略号(...),空格,然后是将要的数组的名称 保持收到的参数。
  • 其他参数在使用的方法中包含其他参数是合法的 变种。
  • 变量限制var-arg必须是方法中的最后一个参数 签名,并且方法中只能有一个var-arg。

但是你仍然使用集合类或接口来存档它。

答案 1 :(得分:0)

在Java中,方法参数中不允许有多个varargs参数。只允许一个varargs参数,它必须是方法签名的最后一个参数。

但你可以通过传递两个数组来实现这一点(在你的情况下是int [] x,String [] b)。

private void ask(int[] x, String[] b) { }