Java 預設引數

Mohammad Irfan 2023年1月30日 2021年4月29日
  1. Java 中的預設引數
  2. 在 Java 中使用 var-args 設定預設引數
  3. 在 Java 中將預設引數設定為空字串
  4. 在 Java 中使用帶有任意數量引數的 var-args 設定預設引數
Java 預設引數

本教程介紹瞭如何在 Java 中實現預設引數。

如果不傳遞任何值,則使用預設引數。當我們要在方法接受多個引數的同時傳遞有限的引數時,這將很有幫助。例如,一個方法接受三個引數,但是如果我們希望在方法呼叫期間僅傳遞兩個引數,則 Java 編譯器將使用第三個引數的預設值來避免任何編譯錯誤。

Java 不支援預設引數值,但是我們可以使用一些內建解決方案來實現它,例如 var-args 或方法過載。讓我們看一些例子。

Java 中的預設引數

在此示例中,我們使用方法過載方法來設定預設引數值。但是,這不是一個好的解決方案,但可以用作替代方案。注意,在呼叫 add() 方法時,我們將 0 作為預設值。

如果我們有兩個相同型別的可選引數,則該方法無效,並且可以省略其中的任何一個。

public class SimpleTesting{
    int add(int a, int b) {
        return a+b;
    }
    int add(int a, int b, int c) {
        return a+b+c;
    }
    public static void main(String[] args) {
        SimpleTesting test =  new SimpleTesting();
        int val1 = 10;
        int val2 = 20;
        int result1 = test.add(val1, 0);
        int result2 = test.add(val1, 0, val2);
        System.out.println("resutl1 : "+ result1);
        System.out.println("resutl2 : "+result2);
    }
}

輸出:

resutl1 : 10
resutl2 : 30

在 Java 中使用 var-args 設定預設引數

這是我們使用可變 args 功能設定預設引數的另一種方法。var-args 允許傳遞可變長度的相同型別的引數。請參見下面的示例。

public class SimpleTesting{
    int add(int a, int... b) {
        int b2 = b.length>0?b[0]:0;
        return a+b2;
    }
    int add(int a, int b, int c) {
        return a+b+c;
    }
    public static void main(String[] args) {
        SimpleTesting test =  new SimpleTesting();
        int val1 = 10;
        int val2 = 20;
        int result1 = test.add(val1);
        int result2 = test.add(val1, 0, val2);
        System.out.println("resutl1 : "+ result1);
        System.out.println("resutl2 : "+result2);
    }  
}

輸出:

resutl1 : 10
resutl2 : 30

在 Java 中將預設引數設定為空字串

對於字串引數,我們可以為引數設定一個空字串。但是,此字串將 null 保留為預設值。請參見下面的示例。

public class SimpleTesting{
    String defaulPara(int a, String str1, String str2) {
        return str1+str2+a;
    }
    public static void main(String[] args) {
        SimpleTesting test =  new SimpleTesting();
        int val1 = 10;
        String result1 = test.defaulPara(val1,"","second");
        String result2 = test.defaulPara(val1,"first","");
        System.out.println("resutl1 : "+ result1);
        System.out.println("resutl2 : "+result2);
    }  
}

輸出:

resutl1 : second10
resutl2 : first10

在 Java 中使用帶有任意數量引數的 var-args 設定預設引數

在使用 var-args 的情況下,我們可以在呼叫方法時隨意提供任意數量的引數。因此,如果你只想提供有限的引數,那麼它將很好地工作。請參見下面的示例。

public class SimpleTesting{
    int defaulPara(int... a) {
        int sum = 0;
        for (int i : a) {
            sum+=i;
        }
        return sum;
    }
    public static void main(String[] args) {
        SimpleTesting test =  new SimpleTesting();
        int val1 = 10;
        int val2 = 20;
        int result1 = test.defaulPara();
        int result2 = test.defaulPara(val1);
        int result3 = test.defaulPara(val1, val2);
        System.out.println("resutl1 : "+ result1);
        System.out.println("resutl2 : "+result2);
        System.out.println("resutl3 : "+result3);
    }
}

輸出:

resutl1 : 0
resutl2 : 10
resutl3 : 30

相關文章 - Java Method