【问题标题】:Difference between String[]a and String...aString[]a 和 String...a 之间的区别
【发布时间】:2011-07-02 12:41:20
【问题描述】:

我们在main方法中写String[]a和String...a有什么区别?

public static void main(String[]a)

public static void main(String...a)

【问题讨论】:

标签: java string


【解决方案1】:

第一个需要一个参数,它是一个字符串数组。

第二个接受零个或多个字符串参数。它还接受一个字符串数组。

【讨论】:

    【解决方案2】:
    public static void main(String[] a)
    

    必须使用 String[] 类型的单个参数或 null 调用此参数。

    public static void main(String...a)
    

    可以使用单个 String[] 类型的参数调用此函数,或者使用任意数量的 String 参数调用,例如 main("a","b","c")。但是,如果您传递 null,编译器会报错,因为它无法判断您是指值为 null 的 String[],还是包含 1 个 null 字符串的数组。

    main() 中,无论哪种情况,变量a 都是String[]

    既然是main,你可能不会想怎么称呼它……通常是第一件事。但是我已经切换到对所有电源使用第二种形式。将参数传递给它进行测试更容易。

    【讨论】:

      【解决方案3】:

      第二个称为varargs,是在Java 5 中引入的。当您需要向方法传递零个或多个参数时,它使您无需显式创建数组。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-11
        • 2012-03-16
        • 1970-01-01
        • 1970-01-01
        • 2016-02-17
        • 2019-11-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多