我无法弄清楚这个问题。
public class Trying {
public static void main(String[] args) {
new Trying().go("hi", 1);
new Trying().go("hi", "world", 2);
}
public void go(String... y, int x) {
System.out.print(y[y.length - 1] + " ");
}
}
答案 0 :(得分:12)
varargs 参数,如String... y
必须是方法声明中的最后一个变量。将您的声明更改为:
public void go(int x, String... y) {
答案 1 :(得分:1)
尝试在varargs参数之后声明Regular参数是非法的。
public void go(String... y, int x) //Error
varags的限制:
- varargs必须最后宣布
醇>2.必须只有一个varargs参数
将您的方法更改为public void go(int x, String... y)
答案 2 :(得分:1)