大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java可變長(zhǎng)參數(shù)列表詳解

Java可變長(zhǎng)參數(shù)列表詳解

更新時(shí)間:2019-09-05 10:39:11 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2659次

  

今天動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家介紹“Java可變長(zhǎng)參數(shù)列表詳解”,希望此文能夠幫助到大家,下面就隨小編一起看看Java可變長(zhǎng)參數(shù)列表詳解的內(nèi)容吧。


timg (3).jpg


Java中定義了變長(zhǎng)參數(shù),允許在調(diào)用方法時(shí)傳入不定長(zhǎng)度的參數(shù)。


  Java可變長(zhǎng)參數(shù)定義及調(diào)用


  在定義方法時(shí),在最后一個(gè)形參后加上三點(diǎn) …,就表示該形參可以接受多個(gè)參數(shù)值,多個(gè)參數(shù)值被當(dāng)成數(shù)組傳入。上述定義有幾個(gè)要點(diǎn)需要注意:


  可變參數(shù)只能作為函數(shù)的最后一個(gè)參數(shù),但其前面可以有也可以沒(méi)有任何其他參數(shù)


  由于可變參數(shù)必須是最后一個(gè)參數(shù),所以一個(gè)函數(shù)最多只能有一個(gè)可變參數(shù)


  Java的可變參數(shù),會(huì)被編譯器轉(zhuǎn)型為一個(gè)數(shù)組


  變長(zhǎng)參數(shù)在編譯為字節(jié)碼后,在方法簽名中就是以數(shù)組形態(tài)出現(xiàn)的。這兩個(gè)方法的簽名是一致的,不能作為方法的重載。如果同時(shí)出現(xiàn),是不能編譯通過(guò)的。可變參數(shù)可以兼容數(shù)組,反之則不成立


public void foo(String...varargs){}


foo("arg1", "arg2", "arg3");


//上述過(guò)程和下面的調(diào)用是等價(jià)的

foo(new String[]{"arg1", "arg2", "arg3"});

 

例如,求任意個(gè)整數(shù)的乘積。


package exercise;


public class product {

    public static int func(int... args){

        int ret = 1;

        for(int i:args)  ret *= i;

        return ret;

    }

    public static void main(String[] args){

        System.out.println(func(1,2,3));

        System.out.println(func(2,2,2,2,2,2));

        System.out.println(func(100,1000));

    }

}


  由于可變長(zhǎng)參數(shù)就是被編譯器轉(zhuǎn)化為數(shù)組實(shí)現(xiàn)的,我們完全可以寫(xiě)成以數(shù)組做參數(shù)的形式:


package exercise;


public class product {

    public static int func(int[] args){

        int ret = 1;

        for(int i:args)  ret *= i;

        return ret;

    }

    public static void main(String[] args){

        System.out.println(func(new int[]{1,2,3}));

        System.out.println(func(new int[]{2,2,2,2,2,2}));

        System.out.println(func(new int[]{100,1000}));

    }

}



方法重載


優(yōu)先匹配固定參數(shù)


調(diào)用一個(gè)被重載的方法時(shí),如果此調(diào)用既能夠和固定參數(shù)的重載方法匹配,也能夠與可變長(zhǎng)參數(shù)的重載方法匹配,則選擇固定參數(shù)的方法:


public class Varargs {


    public static void test(String... args) {

        System.out.println("version 1");

    }


    public static void test(String arg1, String arg2) {

        System.out.println("version 2");

    }

    public static void main(String[] args) {

        test("a","b");     //version 2 優(yōu)先匹配固定參數(shù)的重載方法

                test();    //version 1

    }

}


匹配多個(gè)可變參數(shù)


  調(diào)用一個(gè)被重載的方法時(shí),如果此調(diào)用既能夠和兩個(gè)可變長(zhǎng)參數(shù)的重載方法匹配,則編譯出錯(cuò):


public class Varargs {


    public static void test(String... args) {

        System.out.println("version 1");

    }


    public static void test(String arg1, String... arg2) {

        System.out.println("version 2");

    }

    public static void main(String[] args) {

        test("a","b");  //Compile error

    }

}


以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編介紹的“Java可變長(zhǎng)參數(shù)列表詳解”的內(nèi)容,希望對(duì)大家有幫助,更多java最新資訊內(nèi)容繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。


相關(guān)免費(fèi)視頻教程推薦


java編程入門(mén)教程下載——可變長(zhǎng)參數(shù):http://www.dabaquan.cn/xiazai/2528.html


提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲欧美一区二区三区在饯 | 日韩中文字幕一区二区不卡 | 99九九热| 欧美久久久久 | 婷婷色在线 | 特黄特黄一级片 | 亚洲欧美日本在线观看 | 欧美区一区二区三 | 末成年一级在线看片 | 精品久久久久久影院免费 | 国内精品小视频在线 | 欧美成人日韩 | 一本伊大人香蕉久久网手机 | 久久久综合香蕉尹人综合网 | 久久精品伊人 | 香蕉在线视频网站 | 奇米成人网| 99青青 | jizjizjiz亚洲大全 | 亚洲一区在线视频 | 日本一级毛片片免费观看 | 久久99精品久久久久久牛牛影视 | 久久精品国产一区二区三区肥胖 | 被黑人做的白浆直流在线播放 | 天天色综合5| 国产精品日本一区二区在线播放 | 国产日韩精品视频一区二区三区 | 2020国产成人精品视频人 | 性欧美视频a毛片在线播放 性欧美视频在线观看 | 欧美日本一道免费一区三区 | 久草热视频在线 | 毛片毛片 | 亚洲欧洲国产精品久久 | jizzjizz美女 | 高清一级毛片一本到免费观看 | 黄色男人的天堂 | 99在线视频播放 | 嫩模被xxxx视频在线观看 | 五月婷婷色综合 | 久久精品中文字幕不卡一二区 | 人成午夜欧美大片免费视频 |