java/자료형

(자바) 배열값 복사 & 복제

appmaster 2019. 4. 24. 20:18

이것은 참조값이 변하지 않으면서 오직 instance 값이 변하는 것이다.

public class Revising{
   public static void main(String[] args){
        int[] a = {1, 2, 3, 4, 5};
        int[] b = new int[5];
        
        for(int i=0; i<a.length; i++){
            b[i] = a[i];
            
            System.out.print(b[i]+", ")
            
          }
      }
  }

 

 

이것은 참조값이 변하면서 instance값도 변하는것이다.

public class Revising{
     public static void main(String[] args){
         int[] a = {1, 2, 3, 4, 5};
         int[] b = new int[5];
         
         b = a;
         
         for(int i=0; i<a.length; i++){
            a[i] = b[i];
            
            System.out.print(b[i]+",");
            
          }
     }
 }       

 

 

배열의 복제(클론)

        int[] a = {1,2,3,4,5};
		int[] b = a.clone(); //b는 a의 복제를 참조
		
		b[3] = 0; // 한요소에만 0을 대입
		
		System.out.print("a = ");
		for(int i=0; i<a.length; i++) {
			System.out.print("" + a[i]);
		}
		
		System.out.print("\nb = ");
		for(int i=0; i<b.length; i++) {
			System.out.print(""+b[i]);
		}
        
  
  
 실행결과
  a = 12345
  b = 12305

 

'java > 자료형' 카테고리의 다른 글

List 추가정리  (0) 2019.07.09
자바 ArrayList  (0) 2019.05.25
자바 ArrayList  (0) 2019.04.08
자바 자료형의 종류  (0) 2019.04.08
자바 배열  (0) 2019.04.07