Bonjour,
J'ai créé une class Action qui contient une liste de valeur:
voici la classe valeur:
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 public class Action { private String Name=""; private List<Valeur> list = new LinkedList<>(); //... public Action(){ //constucteur } public Valeur get_Valeur(Day date) { int index = this.get_index(date); System.out.println("index "+index); Valeur V = new Valeur(list.get(index)); return V; }
Voici la ligne de code qui me pose probleme dans mon programme principale:
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 public class Valeur { private Day Date_; private float Div; public Valeur (){ //... } public float get_div() { return Div; } public void set_Div(float D) { System.out.println("++"+D); Div=D; } }
A est une acction que j'ai remplie avec des objet valeurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 A.get_Valeur(d).set_Div(Div);
d est la date de de la valeur don't je veux acceder.
D'aprés le println que j'ai fait println set_Div afect bien une nouvelle valeur.
Cependant quand je reparcours la liste des valeurs mon chagement n'est pas prise en compte.
Je pense que ca vient du fait que get_Valeur retroune un copie de la valeur contenu dans la liste de valeur.
Du coup set_Div modifie la copie de valeur et nom la valeur contenue dans la liste de l'Action A.
quelqu'un sait il si on peu faire des pointeur en java pour que get_Valeur me retourne l'objet Valeur de A et que set_Div le modifie ?
Partager