본문 바로가기

소프트웨어/Android/Java/Ndk

Android] ArrayList복사시 (깊은복사와 얕은복사)

ListView의 List를 수정해서 출력리스트를 변경하려고 하였다. 

변경이 되지 않는것이다.

이유는 얕은복사방식에 있었다.

하...

Java에도 cpp처럼 복사방식이 문제였던 것!


만약에 

ArrayList1과 ArrayList2가 있을때


ArrayList1 = ArrayList2; // 얕은복사


ArrayList1.addAll( ArrayList2 ); //깊은복사

//or

ArrayList1.(ArrayLIst<~>)ArrayLIst2.clone(); //역시 깊은복사



깊은복사 방식을 써야지 서로 값에 영향을 주지 않는다.