akyra
31-12-2007, 11:55
sto usando una variabile di tipo ArrayList per memorizzare una serie di oggetti di tipo stringa...
da quanto io ho sempre saputo, il metodo "add(Object o)" di ArrayList, non copia l'oggetto passato nella lista, bensì ne copia il puntatore...in questo modo se modifico l'oggetto "Object o" la modifica si ripercuote anche sull'oggetto memorizzato nella lista...
invece qua:
ArrayList lista = new ArrayList();
str = new String("CIAO");
lista.add(str);
str = "SALVE";
System.out.println(lista,get(0));
stampa "CIAO" e non "SALVE"...
dato che ho usato il meotodo "add(str)" se modifico l'oggetto "str" questa modifica si dovrebbe ripercuotere anche sugli elementi dell'arraylist...come mai in questo caso non è così?
grazie a tutti e buna fine dell'anno
da quanto io ho sempre saputo, il metodo "add(Object o)" di ArrayList, non copia l'oggetto passato nella lista, bensì ne copia il puntatore...in questo modo se modifico l'oggetto "Object o" la modifica si ripercuote anche sull'oggetto memorizzato nella lista...
invece qua:
ArrayList lista = new ArrayList();
str = new String("CIAO");
lista.add(str);
str = "SALVE";
System.out.println(lista,get(0));
stampa "CIAO" e non "SALVE"...
dato che ho usato il meotodo "add(str)" se modifico l'oggetto "str" questa modifica si dovrebbe ripercuotere anche sugli elementi dell'arraylist...come mai in questo caso non è così?
grazie a tutti e buna fine dell'anno