>  기사  >  Java  >  Java에서 1차원 배열의 깊은 복사 방법은 무엇입니까?

Java에서 1차원 배열의 깊은 복사 방법은 무엇입니까?

王林
王林앞으로
2023-05-03 17:43:071231검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제