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