Parametri predefiniti Java

Mohammad Irfan 12 ottobre 2023
  1. Parametri predefiniti in Java
  2. Imposta i parametri predefiniti utilizzando var-args in Java
  3. Impostare i parametri predefiniti come stringa vuota in Java
  4. Imposta i parametri predefiniti utilizzando var-args con un numero qualsiasi di argomenti in Java
Parametri predefiniti Java

Questo tutorial introduce come implementare i parametri predefiniti in Java.

Quando non viene passato alcun valore, viene utilizzato un parametro predefinito. È utile quando vogliamo passare argomenti limitati mentre il metodo accetta più argomenti. Ad esempio, un metodo accetta tre argomenti, ma se desideriamo passare solo due argomenti durante la chiamata al metodo, il compilatore Java utilizza il valore predefinito del terzo argomento per evitare qualsiasi errore di compilazione.

Java non supporta il valore dei parametri predefiniti, ma possiamo ottenerlo utilizzando alcune soluzioni integrate come var-args o il sovraccarico del metodo. Vediamo alcuni esempi.

Parametri predefiniti in Java

In questo esempio, utilizziamo l’approccio del sovraccarico del metodo per impostare il valore del parametro predefinito. Tuttavia, questa non è una buona soluzione, ma può essere utilizzata come alternativa. Nota, passiamo 0 come valore predefinito durante la chiamata al metodo add().

Questo approccio non funziona se abbiamo due parametri opzionali dello stesso tipo e ognuno di essi può essere omesso.

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);
  }
}

Produzione:

resutl1 : 10
resutl2 : 30

Imposta i parametri predefiniti utilizzando var-args in Java

Questo è un altro approccio in cui utilizziamo la funzione variabile args per impostare i parametri predefiniti. Il var-args permette di passare una lunghezza variabile di argomenti dello stesso tipo. Vedi l’esempio sotto.

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);
  }
}

Produzione:

resutl1 : 10
resutl2 : 30

Impostare i parametri predefiniti come stringa vuota in Java

Nel caso di parametri stringa, possiamo impostare una stringa vuota ai parametri; tuttavia, questa stringa contiene null come valore predefinito. Vedi l’esempio sotto.

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);
  }
}

Produzione:

resutl1 : second10
resutl2 : first10

Imposta i parametri predefiniti utilizzando var-args con un numero qualsiasi di argomenti in Java

Nel caso di var-args, siamo liberi di fornire un numero qualsiasi di argomenti durante la chiamata al metodo. Quindi, se vuoi fornire solo argomenti limitati, funzionerà bene. Vedi l’esempio sotto.

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);
  }
}

Produzione:

resutl1 : 0
resutl2 : 10
resutl3 : 30

Articolo correlato - Java Method