Parámetros por defecto de Java
- Parámetros predeterminados en Java
- Establecer parámetros predeterminados usando var-args en Java
- Establecer parámetros predeterminados como cadena vacía en Java
- Establecer parámetros predeterminados usando var-args con cualquier número de argumentos en 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