为什么方法varargs必须在java中的单独块中?

时间:2015-01-11 12:39:39

标签: java variadic-functions

为什么方法varargs必须与main方法体分开?下面的代码是正确的,但为什么我不能在主方法体中加入varargs方法声明?

public class TryVariableArgumentList {

    public static void main(String[] args) {
        x("first","second");

        public static void x(String... list) {
            for (String y : list)
                System.out.println(y);
        }
    }
}

2 个答案:

答案 0 :(得分:4)

方法

public static void main(String... args) {
    //code
}

也是完全合法的

代码的问题是Java中不允许方法内部的方法声明

Compillable代码必须像这样

class TryVariableArgumentList {
    public static void main(String[] args) {
        x("first","second");
    }

    public static void x(String... list) {
        for(String y : list)
            System.out.println(y);
    }
}

我认为您需要发布您阅读的内容,因为您可能已经解释了错误的内容

希望这有帮助!

答案 1 :(得分:0)

您的方法x在方法main中声明。这不合法。在main之外声明x。