Hello,
pourtant ce n'est pas une histoire de durée de vie.
Tu as l'air de dire que "c'est un peu pareil ce que tu fais", mais, est-ce qu'avec une Map tu fais des choses comme
mapMap = uneNouvelleValeurDeMap;
Ben non, tu le fais pas. Tu fais des choses comme :
mapMap.put(uneCle, uneValeur);
Elle est là la différence.
Dans un cas tu appelles une méthode pour modifier la Map,
dans un autre cas tu utilises = pour assigner un nouvel objet à ta variable Integer sans modifier l'objet qui s'y trouvait avant.
Voili voilà.
Pour information un objet Integer est immutable, on ne peut pas changer son contenu. Alors qu'un objet Map est mutable, c'est limite à ça qu'il sert. Donc forcément, on ne peut pas traiter l'un comme l'autre, pour modifier un int ou un Integer il faut qu'il soit chapeauté dans une classe mutable.
Partager