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

结果:

 

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

错误:

 

 

 

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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM