J'ai quelques structures de données, et je voudrais en utiliser une comme temporaire, et une autre comme non temporaire.
ArrayList<Object> myObject = new ArrayList<Object>();
ArrayList<Object> myTempObject = new ArrayList<Object>();
//fill myTempObject here
....
//make myObject contain the same values as myTempObject
myObject = myTempObject;
//free up memory by clearing myTempObject
myTempObject.clear();
Le problème avec ça, bien sûr, c'est que myObject
ne fait que pointer vers myTempObject
et ainsi de suite myTempObject
est effacée, tout comme myObject
.
Comment puis-je conserver les valeurs de myTempObject
en myObject
en utilisant java ?
0 votes
Vous pouvez utiliser
List.addAll
. Mais si vous devez conserver tous les objets, l'effacement de la liste temporaire ne va pas vraiment libérer beaucoup de mémoire. Parce que vous essayez seulement d'effacer les références, alors que vous essayez de conserver les objets.0 votes
Pour autant que je sache, cette réponse est toujours valable : stackoverflow.com/questions/715650/
2 votes
Il est difficile d'interpréter ce que vous essayez vraiment d'obtenir. Vous devez expliquer votre situation.