Em outras linguagens esta claro pra mim esses procedimentos principalmente C++ ou VB que podemos colocar ByRef antes do argumento…agora em java dei uma pesquisada aqui mesmo e entendi que ele faz automaticamente…se voce define como obj (Integer) seria por referencia…se for primitivo(int) por valor…mas não tive exito nos teste…segue codigo…
public static void main(String[] args) {
//int n = 5;
Integer n = new Integer(5);
System.out.println("Valor antes: "+n);
dobraValor(n);
System.out.println("Valor depois: "+n);
}
public static void dobraValor(Integer n){
n=n*2;
System.out.println("Valor dobrado: "+n);
}
}
Por valor deveria imprimir:
Valor antes: 5
Valor dobrado: 10
Valor depois: 5
Por referencia deveria imprimir:
Valor antes: 5
Valor dobrado: 10
Valor depois: 10
Porem não é o que acontece “por referencia” esta da mesma forma que “por valor”…alguma explicação ou eu estou fazendo algo errado?
Obrigado desde ja…