Java方法参数类型String...与String[]的使用方式比较

在Java中,String[]是一个数组类型,使用String[]数组作为方法参数也就只能传递String[]参数,例如:

public class TestClass {

    public static void main(String[] args) {

        // 传入数组
        func(args);

    }

    /**
     * 使用String[]数组
     *
     * @param args 参数
     */
    public static void func(String[] args) {

    }

}

而在Java中,使用String...表示可变参数,也被称为参数的不定数量。 这种方式允许我们使用逗号分隔多个字符串,而不需要使用数组声明,甚至可以无参(不传递参数)。 例如:

public class TestClass {

    public static void main(String[] args) {

        // 空参
        func();

        // 多个参数
        func("a", "b", "c", "d");

        // 传入数组
        func(args);

    }

    /**
     * 使用String...不定长参数
     *
     * @param args 参数
     */
    public static void func(String... args) {

    }

}

因此,String[]String...的使用方式不同。String[]需要一个数组作为参数,而String…可以接受任意数量的字符串作为参数,并将它们作为一个数组传递给方法。

String…可变参数相较于String[]数组参数显得更加灵活,但是灵活也更容易产生异常,酌情使用。

你可能感兴趣的:(Java,java)