Parâmetros padrão Java

Mohammad Irfan 12 outubro 2023
  1. Parâmetros padrão em Java
  2. Definir parâmetros padrão usando var-args em Java
  3. Definir parâmetros padrão como string vazia em Java
  4. Defina os parâmetros padrão usando var-args com qualquer número de argumentos em Java
Parâmetros padrão Java

Este tutorial apresenta como implementar parâmetros padrão em Java.

Um parâmetro padrão é usado quando nenhum valor é passado. É útil quando queremos passar argumentos limitados enquanto o método aceita vários argumentos. Por exemplo, um método aceita três argumentos, mas se desejarmos passar apenas dois argumentos durante a chamada do método, o compilador Java usa o valor padrão do terceiro argumento para evitar qualquer erro de compilação.

Java não oferece suporte a valores de parâmetros padrão, mas podemos obtê-lo usando algumas soluções integradas, como var-args ou sobrecarga de método. Vamos ver alguns exemplos.

Parâmetros padrão em Java

Neste exemplo, usamos a abordagem de sobrecarga de método para definir o valor do parâmetro padrão. No entanto, esta não é uma boa solução, mas pode ser usada como alternativa. Observe, passamos 0 como o valor padrão ao chamar o método add().

Essa abordagem não funciona se tivermos dois parâmetros opcionais do mesmo tipo e qualquer um deles pode ser omitido.

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

Resultado:

resutl1 : 10
resutl2 : 30

Definir parâmetros padrão usando var-args em Java

Esta é outra abordagem em que usamos o recurso args variável para definir os parâmetros padrão. O var-args permite passar um comprimento variável de argumentos do mesmo tipo. Veja o exemplo abaixo.

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

Resultado:

resutl1 : 10
resutl2 : 30

Definir parâmetros padrão como string vazia em Java

No caso de parâmetros de string, podemos definir uma string vazia para os parâmetros; no entanto, essa string contém nulo como o valor padrão. Veja o exemplo abaixo.

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

Resultado:

resutl1 : second10
resutl2 : first10

Defina os parâmetros padrão usando var-args com qualquer número de argumentos em Java

No caso de var-args, somos livres para fornecer qualquer número de argumentos ao chamar o método. Portanto, se você quiser fornecer apenas argumentos limitados, funcionará bem. Veja o exemplo abaixo.

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

Resultado:

resutl1 : 0
resutl2 : 10
resutl3 : 30

Artigo relacionado - Java Method