【问题标题】:why method varargs must be in separate block in java?为什么方法 varargs 必须在 java 中的单独块中?
【发布时间】:2015-01-11 12:39:39
【问题描述】:

为什么方法可变参数必须与主要方法体分开?下面的代码是正确的,但是为什么我不能将varargs方法声明放在main方法体中呢?

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);
        }
    }
}

【问题讨论】:

标签: java variadic-functions


【解决方案1】:

方法

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

也是完全合法的

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

可编译的代码必须是这样的

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);
    }
}

我认为您需要发布您阅读的内容,因为您可能对某些内容进行了错误的解释

希望这会有所帮助!

【讨论】:

  • 谢谢,我改了代码,你能告诉我为什么没有编译吗?
  • Java 中不允许方法内的方法
  • 也编辑了我的答案
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 2020-05-31
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多