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 ?
Annonceindlæg fra Academic Work Denmark A/S
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]); } }