Bom dia.
Alguém sabe me dizer como passar parâmetros de tipos primitivos, como long ou double por referência, ou então, objetos como String por valor?
Bom dia.
Alguém sabe me dizer como passar parâmetros de tipos primitivos, como long ou double por referência, ou então, objetos como String por valor?
acho que isso nao é possivel
Ola,
Tipos primitivos e a String, como exceção so Objetos, são passados unicamente por valor de acordo com a especificação da linguagem…
Se vc tiver desesperadamente para passalos por referencia… cria uma classe que os encapsule…
Qdo vc trabalha com objetos em java, vc não manipula o objeto diretamente, vc manipula o objeto por um controle remoto, que é sua variavel de referencia.
então qdo vc passa um objeto por parametro vc não passa o objeto, e sim o controle remoto, e não o controle remoto propriamente dito, e sim uma copia do controle remoto.
Pensando assim, java nunca passa parametro por referencia !!!
Vc, por exemplo, não consegue, dentro de um metodo, fazer com que a variavel de referencia passada referencie um outro objeto, pois dentro do metodo vc tem uma copia da variavel de referencia !
Vc consegue alterar os atributos do objetos, mas não a referencia passada !!
Esse exemplo do controle remoto é do livro, heads fisrt!!!
Realmente, marcelux, isso não é possivel !!
Em java todos os argumentos são passados por valor. Mesmo qd estamos dizendo que foi por referência, esta mesma nada mais eh do que uma copia do conjunto de bits que endereça algo, ou seja um valor.
Entretanto, em algumas implementaçoes de JVMs, a referência eh simplesmente o endereço do objeto… Entaum vai depender a JVM utilizada. Mas em geral não existe passagem por referência.