Bonjour,
J'ai un souci avec pour obtenir/afficher des objets de meme type et qui ont des valeurs differentes.
Pour etre bref, j'ai simplifie le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class Reel { private static float nbReel; public Reel() {} public Reel(float unNbReel) { nbReel = unNbReel; } public static void setNbReel(float unNbReel) { nbReel = unNbReel; } public static float getNbReel() { return nbReel; } }A la sortie, j'obtiens : 9.0 et 9.0
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 import java.io.*; import java.util.*; public class TestClassMain { public static void main(String[] args) { Reel monReel = null; ArrayList maListe = new ArrayList(); maListe.add(new Reel(7)); maListe.add(new Reel(9)); monReel = (Reel) maListe.get(0); System.out.println(monReel.getNbReel()); monReel = (Reel) maListe.get(1); System.out.println(monReel.getNbReel()); } }
Alors que je suis cense obtenir : 7.0 et 9.0
Pourquoi ? Je ne comprends pas !
Il prend que la derniere valeur... Y a-t-il une histoire de reference !? Je pense pas mais bon...
Notez que :
- si vous mettez des String differents, a la sortie, on a ce qu'on veut !
- si vous mettez UN objet d'un autre type en plus, le programme l'affichera avec la valeur desiree !
Bref, pour faire court, le programme affiche que la derniere valeur d'un type d'objet a chaque fois qu'il trouve l'objet d'un meme type dans le tableau d'ArrayList.
Merci d'avance pour vos aides,
Bye,
Partager