Java 預設引數

Mohammad Irfan 2023年10月12日
  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