Oi Leandro,
Na verdade, fui eu que fiz a pergunta original.
Sei que uma fun��o nao pode retornar mais de
um valor, mas quiz dizer que h� outras formas
de fazer isso, dependendo da linguagem. Por
exemplo, em PL/SQL no Oracle � muito comum fazer
procedures (que n�o retornam valor) com diversos
par�metros tipo OUT (sa�da), que, em �ltima
an�lise, "retornam" valores para quem chamou,
o que, claro, n�o � poss�vel dessa forma em Java.
Eu fiz uns testes, e o problema que detectei em usar vetores
para fazer isso em Java, � que em tempo de compila��o
n�o h� como checar o que ser� retornado.
Por exemplo, o c�digo abaixo compila Ok mas d�
erro de execu��o:
//===============================
import java.util.*;
class X {
class Classe1 {}
class Classe2 {}
Vector metodo1() {
Vector v = new Vector();
v.addElement(new Classe2());
v.addElement(new Classe1());
return v;
}
public static void main(String argv[]) {
Classe1 c1;
Classe2 c2;
Vector v;
X x = new X();
v = x.metodo1();
c1 = (Classe1)v.elementAt(0);
c2 = (Classe2)v.elementAt(1);
}
}
//==============================
Exception in thread "main" java.lang.ClassCastException: X$Classe2
at X.main(X.java:23)
Fora isso, funciona perfeitamente - obrigado a todos pela dica!
Luis Cabral
----- Original Message -----
From: "Leandro Bitencourt" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Monday, October 22, 2001 11:21 AM
Subject: RE: [java-list] M�todo retornando 2 objetos
Fabio,
Primeiro lugar, vc nao esta retornando dois valores, vc esta setando um por
indirecao (int *r1=20) e retornando outro (20).
Por definicao uma funcao nao pode retornar 2 valores, seja na linguagem q
for.
Qto a retornar 2 objetos, vc pode fazer uma array de objetos... um vector,
uma collection... tem duzias de maneiras de fazer isto.
Abra�os,
Leandro Bitencourt
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
ICQ: 69948464
-----Original Message-----
From: Fabio Hasegawa [mailto:[EMAIL PROTECTED]]
Sent: segunda-feira, 22 de outubro de 2001 09:54
To: [EMAIL PROTECTED]
Subject: RE: [java-list] M�todo retornando 2 objetos
Pode utilizar collections........
List, Map, Set.....
Qualquer coisa....
[]�s
F�bio
-----Original Message-----
From: Luis Cabral [mailto:[EMAIL PROTECTED]]
Sent: Sunday, October 21, 2001 6:39 PM
To: [EMAIL PROTECTED]
Subject: [java-list] M�todo retornando 2 objetos
Ol�
Tenho uma d�vida, que ao mesmo tempo prova
que em Java n�o existe passagem de par�metros
por refer�ncia...
Como fazer um m�todo retornar 2 objetos *diferentes*?
Em C por exemplo, eu poderia usar um par�metro
por refer�ncia para que fosse retornado nele um valor:
int funcao(int *r1)
// esta funcao retorna 2 inteiros: 10 e 20
{
*r1 = 10;
return 20;
}
E em Java?
Uma op�ao seria retornar um array, mas sendo
dois objetos diferentes, precisaria ser um array de object's,
ou tem outra forma?
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------
---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.286 / Virus Database: 152 - Release Date: 9/10/2001
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.286 / Virus Database: 152 - Release Date: 9/10/2001
--------------------------------------------------------------------------------
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------