In poche parole, ho un metodo con un parametro ArrayList. Nel metodo modifico il contenuto di ArrayList per scopi rilevanti solo per ciò che viene restituito dal metodo. Pertanto, non desidero che ArrayList venga passato come parametro da modificare (ovvero non passato come riferimento).ArrayList Passando come valore di riferimento e non
Tutto ciò che ho provato è riuscita a ottenere l'effetto desiderato. Che cosa devo fare in modo che io possa fare uso di una copia del ArrayList all'interno solo il metodo, ma non averlo cambiare la variabile reale?
si poteva passare [ 'Collezioni # immodificabile (yourList)'] (http://docs.oracle.com/javase/7/docs/api/java/util/ Collections.html # unmodifiableList (java.util.List)) per inviare una copia non modificabile della tua lista. –
Si potrebbe anche creare una nuova copia di 'ArrayList' nel metodo che lo sta modificando. Anche se non ha effetto sul primo 'ArrayList', qualsiasi oggetto che cambi all'interno verrà comunque modificato ... – MadProgrammer
Stai modificando solo la lista? O anche cosa c'è all'interno della lista? –