Menu

Java return 2 valeurs [Fermé]

The Hawk - 26 avril 2008 à 01:51 - Dernière réponse :  Tibo-k3
- 22 juil. 2010 à 12:49
Bonjour,
je voudrais savoir comment faire pour retourner 2 valeurs en même temp (si sa se peut)
Afficher la suite 

6 réponses

+4
Utile
Moi ce que je fais, même si je sais que ce n'est pas très propre, mais je n'ai pas encore trouvé de meilleurs solution, si je veux retourner plusieurs choses différentes :

public Object[] maFonction()
{
// Implémentation
Object[] monResultat = { truc1 , truc2 };
return monResultat;
}

Ensuite pour l'utiliser :

Object[] coucou = maFonction();
TypeDeTruc1 machin1 = (TypeDeTruc1) coucou[0];
TypeDeTruc2 machin2 = (TypeDeTruc2) coucou[1];

Ainsi tu peux retourner par exemple, un Double et une String en même temps.

Attention : apparament, on ne peut pas caster les éléments de Object avec des types primitifs :
(int) coucou[0] => marche pas ! Faire : (Integer) coucou[0]

Voila... En attendant de trouver un truc moins crade ^^
Cette réponse vous a-t-elle aidé ?  
ortys4 251 Messages postés mardi 7 novembre 2000Date d'inscription 26 septembre 2010 Dernière intervention - 26 avril 2008 à 10:30
+2
Utile
1
Salut,

je pense que pour l"idée d'un tableau contenant tes 2 valeurs, tu avais saisie. Mon autre idée dépend de ton code, si tu retourne 2 valeurs qui à elle seul serai utilise de placer dans un classe, tu retournerai donc cet objet.

Je sais c'est pas clair comme explication.
tarek_dotzero 742 Messages postés jeudi 19 juillet 2007Date d'inscription 7 avril 2018 Dernière intervention - 26 avril 2008 à 10:43
Ou il peut créer un objet de type Propeties, ou un objet personnalisé...
Bref il y a plusieurs solutions
ortys4 251 Messages postés mardi 7 novembre 2000Date d'inscription 26 septembre 2010 Dernière intervention - 26 avril 2008 à 01:55
0
Utile
Salut,

soit tu retourne un tableau de 2 valeur (un peu crade) soit tu analyse un peu mieux et tu essaye de crée un objet. Si non il y a pas d'autre solution.
Utilisateur anonyme - 26 avril 2008 à 01:55
0
Utile
tu pe pas etre un peu plus precis sur ce que tu ve faire stp?
0
Utile
public class Connect {

private monID monId;


public monID get() {.........................


*******************************************************
public class monID {

private Integer droit ;
private String email;
/**
* @param droit the droit to set
*/
public void setDroit(Integer droit) {
this.droit = droit;
}
/**
* @return the droit
*/
public Integer getDroit() {
return droit;
}
/**
* @param email the email to set
*/
public void setEmail(String email) {
this.email = email;
}
/**
* @return the email
*/
public String getEmail() {
return email;
}
}