Recursos JAVA, referência!

10 respostas
H

Olá, gostaria de preguntar como em JAVA se faz para poder retornar dois valores em uma função já que até onde sei não há passagem por referência!!

Obrigado!!!

10 Respostas

Mauricio_Linhares

Em Java todos os objetos são passados por referência.

kina

Não é possivel.
Você pode contornar usando um Array, por exemplo,
ou então passar um objeto e dentro do metodo alterá-lo. (Argh…)

Rafael_Nunes

Não é o contrário, não são todos passados por valor?

Mauricio_Linhares

Não é o contrário, não são todos passados por valor?

Apenas tipos primitivos são passados por valor em Java.

H

e alguém tem alguma sugestão de como posso retornar dois valores em uma função???

Mauricio_Linhares

Passa um objeto pra ela e muda as propriedades dele dentro da função.

pcalcado

Maurício Linhares:

Apenas tipos primitivos são passados por valor em Java.

Nope :frowning:

Java passa por cópia de refer~encia, o que caracteriza passar por valor.

http://www.guj.com.br/posts/list/24894.java

vivi_grieco

Uma vez teve aqui no forum uma discussao sobre passagem de parametros por referencia e por valor em java…

http://www.guj.com.br/posts/list/24894.java

[editado]
Desculpa, pcalcado… depois q eu respondi q eu vi q vc tinha respondido… :slight_smile:

Mauricio_Linhares

Estranho demais…

Mas faz até sentido, em C# pra passar a “referência” agente usa “out” antes do parâmetro.

Mas de qualquer jeito, dá pra mudar o estado do objeto dentro do método :mrgreen:

T

Para retornar 2 ou mais objetos você pode usar:

  • Um objeto de uma classe feita só para isso. Por exemplo:
class Cliente {
    public String nome, endereco, telefone, idade;
}

public Cliente getCliente() {
}
  • Um array de Object (ou String, ou seja lá o que for) com 2 ou mais elementos.
Object[] getCliente {
    Object[] dadosCliente = new Object[] {
        nome, endereco, telefone, idade }}
Criado 13 de junho de 2005
Ultima resposta 13 de jun. de 2005
Respostas 10
Participantes 7