Per Henriksen <birdieno2@hotmail.com> wrote in message
news:Wj376.272$tP.19216@news.get2net.dk...
> Hvordan kopiere man en vector og dens objekter (hvis det kan lade sig
gøre)?
>
> Så vidt jeg har forstået, får man bare en ekstra reference til objekterne
i
> en vector, hvis man bruger "clone". Så hvis man ændre i objekterne i den
> clonede vector, ændre man også i de originale objekter.
>
> Mvh.
> Per
>
Hej Per
Dette er klippet ud fra Java 1.2 API'en:
public Object clone()
Returns a clone of this vector. The copy will contain a reference to a clone
of the internal data array, not a reference to the original internal data
array of this Vector object.
Og her er et lille eksempel:
import java.util.Vector;
public class CloneTest {
public static void main( String args[] ) {
Vector test1 = new Vector( 3 );
test1.insertElementAt(new String("Hej"),0);
test1.insertElementAt(new String("med"),1);
test1.insertElementAt(new String("dig."),2);
Vector test2 = (Vector) test1.clone();
test2.insertElementAt(new String("dig.2"),2);
System.out.print( test1.get(2) ); // Udskriver "dig."
System.out.print( test2.get(2) ); // Udskriver "dig.2"
}
}
Begge ting tyder på at clone() i tilfældet med Vector returnerer en kopi og
ikke blot en ny reference.
Håber du kunne bruge det til noget
--
Mvh.
Mikkel Bundgaard
RUC Datalogi