> Java > java지도 시간 > 본문

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

王林
풀어 주다: 2023-05-03 17:43:07
앞으로
1254명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!