Bonjour tout le monde

Mon problème est le suivant,

1) j'enregistre mon objet java dans un fichier xml.

2) je charge mon objet java à partir du fichier xml

Une fois cette étape réalisée j'ai des comportement étrange au niveau des fonctions de l'objet java (cf ClassMain.java, résultat de la méthode isLogin() passe de true à false après l'étape de chargement de l'objet a partir du xml

Merci d'avance pour votre aide

ClassMain.java

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
public static void main(String[] args) {
        //création d'un joueur
        Joueur j1 = new Joueur();
        j1.setLogin("j1");
 
        try {
            //Test : vérifier que le joueur a pour login j1(normalement devrait renvoyer true =><strong> Ok renvoi True</strong>)
            System.out.println(j1.isLogin("j1"));
            marshaling(j1);
            Joueur jfinal =unMarshaling();
            //Test : vérifier que le joueur a pour login j1 (normalement devrait renvoyer true => Ko renvoi false)
            System.out.println(jfinal.isLogin("j1"));
        } catch (JAXBException e) {
            e.printStackTrace();
        }
 
    }
 
    private static Joueur unMarshaling() throws JAXBException {
        JAXBContext jaxbContext = JAXBContext.newInstance(Joueur.class);
        Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
        Joueur joueur = (Joueur) jaxbUnmarshaller.unmarshal( new File("C:/Users/Public/joueur.xml") );
        return joueur;
    }
 
    private static void marshaling(Object o) throws JAXBException {
        JAXBContext jaxbContext = JAXBContext.newInstance(Joueur.class);
        Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
 
        jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        jaxbMarshaller.marshal(o, new File("C:/Users/Public/joueur.xml"));
    }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
Pour info ci dessous ma classe Joueur
XmlRootElement(name = "joueur")
@XmlAccessorType (XmlAccessType.FIELD)
public class Joueur{
    @XmlAttribute
    private String login;
 
    public Joueur() {
 
    }
    public String getLogin() {
        return this.login;
    }
    public void setLogin(String login) {
        this.login = login;
    }
    //vérifie si le login du Joueur est = au login passé en parametre
    public boolean isLogin(String n){
        if(this.login == n)
            return true;
        else
            return false;
    }
}