17. december 2003 - 23:17
Der er
3 kommentarer og
1 løsning
clone array
jeg har en integer array jeg gerne vil clone()
her er noget kode
int[] one = new int[]{5,5};
int[] oneClone = (int[])one.clone();
one[1]=0;
System.out.println(oneClone[1]);
int[][] two = new int[][]{{5,5,5},{5,5,5},{5,5,5}};
int[][] twoClone = (int[][])two.clone();
two[1][1] = 0;
System.out.println(twoClone[1][1]);
den første virker fint, men den anden virker som om den bare laver referencer, og ikke kloner
hvad laver jeg galt ?
17. december 2003 - 23:25
#2
Se f.eks.:
public class TwoDimClone {
public static void main(String[] args) throws Exception {
int[] one = new int[]{5,5};
int[] oneClone = (int[])one.clone();
one[1]=0;
System.out.println(oneClone[1]);
int[][] two = new int[][]{{5,5,5},{5,5,5},{5,5,5}};
int[][] twoClone = (int[][])two.clone();
two[1][1] = 0;
System.out.println(twoClone[1][1]);
int[][] three = new int[][]{{5,5,5},{5,5,5},{5,5,5}};
int[][] threeClone = new int[three.length][];
for(int i = 0; i < threeClone.length; i++) {
threeClone[i] = (int[])three[i].clone();
}
three[1][1] = 0;
System.out.println(threeClone[1][1]);
}
}