Parámetros por defecto de Java

Mohammad Irfan 12 octubre 2023
  1. Parámetros predeterminados en Java
  2. Establecer parámetros predeterminados usando var-args en Java
  3. Establecer parámetros predeterminados como cadena vacía en Java
  4. Establecer parámetros predeterminados usando var-args con cualquier número de argumentos en Java
Parámetros por defecto de Java

Este tutorial presenta cómo implementar parámetros predeterminados en Java.

Se utiliza un parámetro predeterminado cuando no se pasa ningún valor. Es útil cuando queremos pasar argumentos limitados mientras que el método acepta múltiples argumentos. Por ejemplo, un método acepta tres argumentos, pero si deseamos pasar solo dos argumentos durante la llamada al método, entonces el compilador de Java usa el valor predeterminado del tercer argumento para evitar cualquier error de compilación.

Java no admite el valor de los parámetros predeterminados, pero podemos lograrlo utilizando algunas soluciones integradas como var-args o la sobrecarga de métodos. Veamos algunos ejemplos.

Parámetros predeterminados en Java

En este ejemplo, usamos el enfoque de sobrecarga de métodos para establecer el valor del parámetro predeterminado. Sin embargo, esta no es una buena solución, pero se puede utilizar como alternativa. Observe que pasamos 0 como valor predeterminado mientras llamamos al método add().

Este enfoque no funciona si tenemos dos parámetros opcionales del mismo tipo y cualquiera de ellos puede omitirse.

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

Producción :

resutl1 : 10
resutl2 : 30

Establecer parámetros predeterminados usando var-args en Java

Este es otro enfoque en el que usamos la función de argumentos variables para establecer parámetros predeterminados. El var-args permite pasar una longitud variable de argumentos del mismo tipo. Vea el ejemplo a continuación.

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

Producción :

resutl1 : 10
resutl2 : 30

Establecer parámetros predeterminados como cadena vacía en Java

En el caso de los parámetros de cadena, podemos establecer una cadena vacía para los parámetros; sin embargo, esta cadena tiene un valor nulo como valor predeterminado. Vea el ejemplo a continuación.

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

Producción :

resutl1 : second10
resutl2 : first10

Establecer parámetros predeterminados usando var-args con cualquier número de argumentos en Java

En el caso de var-args, somos libres de proporcionar cualquier número de argumentos mientras llamamos al método. Por lo tanto, si desea proporcionar solo argumentos limitados, funcionará bien. Vea el ejemplo a continuación.

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

Producción :

resutl1 : 0
resutl2 : 10
resutl3 : 30

Artículo relacionado - Java Method