Olá !
Estou com uma dúvida sobre passagem de parametros para metodos por referencia ou por valor.
- Vi que no Java não podemos indicar se o parametro que queremos passar em um metodo é por valor ou por referência, sendo assim, é o compilador quem decide ? Não entendi direito como. Em outras linguagens podemos indicar (em C# basta colocar a palavra REF por exemplo)
- Se passo um valor primitivo (int, double…) o parametro é passado por valor. Se passo um array o mesmo é passado por referencia pois é um objeto. Porém se passo um objeto String porque o mesmo é passado como valor e não como referencia se é um objeto ?
Fiquei nessa dúvida pois no livro do Deitel (que estou lendo) não tem um detalhe maior.
Agradeço a ajuda de todos