溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java 中怎么使用可變參數(shù)

發(fā)布時間:2021-06-22 16:45:29 來源:億速云 閱讀:115 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(guān)Java 中怎么使用可變參數(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

一、概念

JDK5.0出現(xiàn)的新特性。將同一個類中,多個方法名相同、參數(shù)類型相同、返回類型相同,僅僅是參數(shù)個數(shù)不同的方法抽取成一個方法,這種方法稱為可變參數(shù)的方法。

1、好處:

提高代碼的重用性和維護性。

2、語法:

public void show(String... str){ }

3、可變參數(shù)傳值的四種方式:

  • 一個值也不傳,可變參數(shù)會接收到長度為0的數(shù)組。

  • 傳null,可變參數(shù)會接收到null。

  • 傳數(shù)組,可變參數(shù)會接收到數(shù)組。

  • 傳一個到多個數(shù)組元素值,可變參數(shù)會接收到數(shù)組。

4、可變參數(shù)和數(shù)組作為方法參數(shù)時的區(qū)別:

  • 從個數(shù)來看,可變參數(shù)只能有一個,數(shù)組可以有多個。

  • 從定義位置來看,可變參數(shù)只能定義在參數(shù)列表的末尾,數(shù)組可以在任何位置。

  • 從傳參的形式來看,可變參數(shù)可以傳數(shù)組、null、0個參數(shù)、一到多個參數(shù),數(shù)組可以傳數(shù)組引用、數(shù)組對象、null。

二、代碼示例

簡單示例如下:

public class Demo {

    public void show(String... str){
        if(null == str){
            System.out.println("is null");
        }
        if(null != str){
            System.out.println("is length:" + str.length);
        }
        
    }

    public static void main(String[] args) {
        Demo demo = new Demo();

        // 一個值都不傳遞
        demo.show();
        // 傳數(shù)組對象
        demo.show(new String[]{"piao","bill","pig"});
        // 傳多個元素值,會當成數(shù)組處理
        demo.show("piao","bill","pig","test");
        // 傳null,但是這個參數(shù)不可用
        demo.show(null);
    }

}

方法重載:方法名相同,但是參數(shù)列表不一致。

public class Demo {

    public void show(String str){
        System.out.println("is value:" + str);
    }

    public void show(String... str){
       System.out.println("is length:" + str.length);
    }

    public static void main(String[] args) {
        Demo demo = new Demo();

        // 一個值都不傳遞
        demo.show();
        // 傳數(shù)組對象
        demo.show(new String[]{"piao","bill","pig"});
        // 傳多個元素值,會當成數(shù)組處理
        demo.show("piao","bill","pig","test");
        // 傳null,但是這個參數(shù)不可用
        demo.show("piao");
    }

}

看完上述內(nèi)容,你們對Java 中怎么使用可變參數(shù)有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI