Bonsoir !
C'est normal, calendar6 et calendar4 pointent sur le même objet.
A un moment tu fais :
GregorianCalendar calendar6 = new java.util.GregorianCalendar();
Tu as 2 objets distincts GregorianCalendar en mémoire (un référencé par calendar4 et un autre référencé par calendar6).
Mais juste après, tu fais :
tu fais ainsi pointer calendar6 sur le même objet que pointe calendar4.
Donc quand tu fais
calendar6.add (calendar4.MONTH, 12);
tu ajoutes aux même objet 12 mois (objet référencé à la fois par calendar6 et calendar4).
D'où l'égalité.
Au lieu d'affecter calendar4 à calendar6, tu dois initialiser calendar6 en valorisant la propriété time que tu récupéreras de calendar4. Ainsi les deux objets seront indépendants.
1 2 3 4
|
GregorianCalendar calendar6 = GregorianCalendar();
calendar6.setTime(calendar4.getTime());
calendar6.add (Calendar.MONTH, 12); |
J'ai remplacé calendar4.MONTH par Calendar.MONTH car tu n'as pas besoin d'instance pour utiliser un champ static.
Partager