IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Récupérer la référence d'un objet


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Points : 24
    Points
    24
    Par défaut Récupérer la référence d'un objet
    Bonjour

    Avant de créer cette nouvelle discussion j'ai fais une recherche dans le forum. Mais la réponse trouvée ne correspond pas à ce que je cherche en faite.

    Est-il possible en JAVA de trouver la référence d'un objet Voyage par exemple c'est-à-dire dans ce cas ci-dessous e1?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public Voyage(String nouveauPortDeDepart, String NouveauportDeDestination, int nouveauNbrDeJours){
    		portDeDepart = nouveauPortDeDepart;
    		portDeDestination = NouveauportDeDestination;
    		nbrDeJours = nouveauNbrDeJours;
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Voyage e1 = new Voyage("Paris","New York",1);

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Tu entends quoi par la référence ? L'adresse mémoire ?

    Tu as déjà une référence vers e1, non ?

    Si c'est depuis la classe Voyage que tu as besoin de cette référence, il faut utiliser this.

  3. #3
    Membre à l'essai
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Baptiste Wicht Voir le message
    Tu entends quoi par la référence ? L'adresse mémoire ?

    Tu as déjà une référence vers e1, non ?

    Si c'est depuis la classe Voyage que tu as besoin de cette référence, il faut utiliser this.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public Object getVoyage(String depart, String destination){
    		Object Voyage = null;
    		for(int i = 0; i < c.size(); i++){
    			if((c.get(i).portDeDepart == depart) && (c.get(i).portDeDestination == destination) ){
    				Voyage = c.get(i);
    			}
    		}
    		return Voyage;
    	}
    J'ai mis l'objet Voyage e1 dans une collection de type List
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static List<Voyage> c = new ArrayList<Voyage>(2);
    Je voudrais par exemple si j'appelle la méthode getVoyage dans la méthode main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(e1.getVoyage("Paris","New York",1);
    Je voudrais qu'il me retourne e1 et non :
    port de départ : Paris
    port d'arrivée : Sénégal
    nombre de jours : 3
    Est-ce-possible?

  4. #4
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Bonjour,

    Pourquoi ne pas faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public Voyage getVoyage(String depart, String destination){
    	Voyage voyage = null;
    	for(int i = 0; i < c.size(); i++){
    		if((c.get(i).portDeDepart.equals(depart)) && (c.get(i).portDeDestination.equals(destination)) ){
    			voyage = c.get(i);
    		}
    	}
    	return voyage;
    }
    ?

    A noter que les chaines de caractères se comparent avec .equals()
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  5. #5
    Membre à l'essai
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Merci Arnaud F. pour tes conseils.

  6. #6
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    C'est donc bien ce que tu cherchais à faire? Si oui, pense à cliquer sur le bouton qui se trouve en fin de page
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  7. #7
    Membre à l'essai
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Arnaud F. Voir le message
    C'est donc bien ce que tu cherchais à faire? Si oui, pense à cliquer sur le bouton qui se trouve en fin de page
    En faite non c'est pas ce que je cherchais mais tes conseils m'ont aidés. Ce que je cherche à faire c'est si par exemple j'ai un objet Voyage qui possède comme référence AF01. On va dire que c'est le numéro d'un vol d'un l'avion pour le voyage en question. Ce que je je voulais savoir c'est s'il est possible avec la méhode getVoyage de retourner non pas l'objet Voyage mais sa référence
    c'est-à-dire AF01?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Voyage AF01 = new Voyage("Paris","New York",1);

  8. #8
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Question bête, mais pourquoi vouloir récupérer à tout prix une référence !?

    Si c'est pour utiliser AF01 autre part dans le programme, il faut déclarer la variable en global pis c'est tout...
    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  9. #9
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par derlone Voir le message
    En faite non c'est pas ce que je cherchais mais tes conseils m'ont aidés. Ce que je cherche à faire c'est si par exemple j'ai un objet Voyage qui possède comme référence AF01. On va dire que c'est le numéro d'un vol d'un l'avion pour le voyage en question. Ce que je je voulais savoir c'est s'il est possible avec la méhode getVoyage de retourner non pas l'objet Voyage mais sa référence
    c'est-à-dire AF01?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Voyage AF01 = new Voyage("Paris","New York",1);
    C'est quoi la différence que tu fais entre référence et objet ?

    Dans ton cas, si tu appelles des méthodes sur l'objet qui t'est retourné, ca va bel et bien modifier l'objet. Tu possèdes déjà une référence sur cet objet.

    Dans quel but veux-tu une référence ou plutôt que ne peux-tu pas faire avec l'objet qui t'est retourné ?

  10. #10
    Membre à l'essai
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2009
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Baptiste Wicht Voir le message
    C'est quoi la différence que tu fais entre référence et objet ?

    Dans ton cas, si tu appelles des méthodes sur l'objet qui t'est retourné, ca va bel et bien modifier l'objet. Tu possèdes déjà une référence sur cet objet.

    Dans quel but veux-tu une référence ou plutôt que ne peux-tu pas faire avec l'objet qui t'est retourné ?
    Je me posais la question s'il étais possible de récupérer la référence d'un objet crée. Mais à vos réponses je dirai que non. Je vous remercie quand même d'avoir pris la peine de répondre à mes questions.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer la référence d'un objet créé
    Par Danger dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 22/03/2009, 04h29
  2. Comment récupérer la référence d'un objet ?
    Par 19cmos83 dans le forum VB.NET
    Réponses: 1
    Dernier message: 21/11/2007, 10h55
  3. [Sources]Récupérer le chemin d'un objet OLE
    Par Mr.Gus dans le forum Contribuez
    Réponses: 9
    Dernier message: 12/05/2005, 10h11
  4. [Ada] Récupérer un pointeur sur un objet existant
    Par vincnet500 dans le forum Ada
    Réponses: 1
    Dernier message: 14/11/2004, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo