1. 세가지 방법
(1) Call clone
(2) Call System.arraycopy
위의 두 가지 방법은 기본형과 객체형 데이터에 동일한 효과를 줍니다.
(3) FOR 루프를 사용하여 배열의 각 요소를 복사합니다. (clone 메소드 호출에 주의하세요)
2. 예시
Object[] src = new Object[]{ new String("Zhao"), Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(3), Integer.valueOf(4)}; Object[] dest = src.clone(); //1.拷贝数据 // Object[] dest = new Object[5]; // System.arraycopy(src, 0, dest, 0, dest.length); System.out.println( dest.equals(src)); System.out.println( dest == src ); for (int i = 0; i < dest.length; i++) { System.out.print( dest[i]+", " ); dest[i] = new String("KE"); //2.改变新数组内容 System.out.print( dest[i]+", " ); System.out.println( src[i]+","); //3.不影响原始数组 } System.out.println();
참고: 1차원 배열의 전체 복사본은 다차원 배열의 얕은 복사본일 뿐입니다.
위 내용은 Java에서 1차원 배열의 깊은 복사 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!