java 不定长参数

时间:2023-03-09 17:52:12
java 不定长参数

一,不定长参数的规定

  一个方法只能有一个不定长参数,并且这个不定长参数必须是该方法的最后一个参数.

示例:

public class VariArgs {

    public static void main(String[] args) {
test();
test("aaa");
test("aaa", "bbb");
test("aaa", "bbb", "ccc");
} public static void test(String... args) {
System.out.println(args.getClass());
for (String arg : args) {
System.out.println(arg);
}
}
}

二,注意事项

1.在调用方法的时候,如果能够和固定参数的方法匹配,也能够与可变长参数的方法匹配,则选择固定参数的方法

public class VarArgsTest {

    public void print(String... args) {
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
} public void print(String test) {
System.out.println("----------");
} public static void main(String[] args) {
VarArgsTest test = new VarArgsTest();
test.print("hello");
test.print("hello", "alexia");
}
}

结果:

java 不定长参数

2.如果要调用的方法可以和两个可变参数匹配,则出现错误

public class VarArgsTest1 {

    public void print(String... args) {
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
} public void print(String test, String... args) {
System.out.println("----------");
} public static void main(String[] args) {
VarArgsTest1 test = new VarArgsTest1();
test.print("hello");
test.print("hello", "alexia");
}
}

错误:

java 不定长参数

http://blog.****.net/djun100/article/details/10134419

http://www.cnblogs.com/lanxuezaipiao/p/3190673.html