Por 9.99€ al mes tendrás acceso completo a todos los cursos. Sin matrícula ni permanencia.
- Por referencia: cuando paso la dirección del dato.
- Por valor: cuando paso el dato.
En Java se pasa siempre por valor, pero:
- cuando paso un objeto, paso una dirección de memoria.
- cuando paso una primitiva, paso directamente su valor.
public class PasoParametros {
public static void modificaLetra(char letraParam) {
letraParam = 'A';
}
public static void modificaStringBuffer(StringBuffer stringBufferParam) {
stringBufferParam.append("C");
}
public static void modificaLetras(char[] letrasParam) {
letrasParam[0] = 'A';
}
public static void modificaPalabras(String[] palabrasParam) {
palabrasParam[0] = "B";
}
public static void modificaString(String stringParam) {
stringParam = "B";
}
public static void main(String[] args) {
char letra = 'a';
StringBuffer stringBuffer = new StringBuffer("c");
char[] letras = {'a'};
String[]palabras = {"b"};
String string = "b";
modificaLetra(letra);
modificaStringBuffer(stringBuffer);
modificaLetras(letras);
modificaPalabras(palabras);
modificaString(string);
System.out.println("La nueva letra vale: " + letra); // La nueva letra vale: a
System.out.println("El nuevo stringBuffer vale: " + stringBuffer); // El nuevo stringBuffer vale: cC
System.out.println("El nuevo letras vale: " + letras[0]); // El nuevo letras vale: A
System.out.println("El nuevo palabras vale: " + palabras[0]); // El nuevo palabras vale: B
System.out.println("El nuevo String vale: " + string); // El nuevo String vale: b
}
}
Preguntas de la certificación