>  기사  >  Java  >  Java는 복사 목록을 구현합니다.

Java는 복사 목록을 구현합니다.

王林
王林앞으로
2020-09-11 15:51:152096검색

Java는 복사 목록을 구현합니다.

Background:

처음에는 후속 작업을 위해 새 페이지에 들어갈 때 컬렉션을 복사할 생각으로 직접 List A=List B라고 썼습니다. 나중에 B를 작업하면 A 내부의 데이터도 그에 따라 변경하십시오.

(추천 동영상 튜토리얼: java 강좌)

쿼리를 통해 발견한 결과 "="를 직접 사용하는 것은 Java에서 동일한 내용을 가진 배열이 동일한 주소, 즉 A와 B를 가리키는 것과 동일하다는 것이 밝혀졌습니다. 얕은 복사 후 동일한 주소를 가리킵니다. 결과적으로 B를 변경하면 A도 변경됩니다. B를 변경하면 B가 가리키는 주소의 내용이 변경되기 때문입니다. A도 동일한 주소를 가리키므로 A와 B가 함께 변경됩니다. 독립 배열을 복사하려면 다음 방법을 사용할 수 있습니다.

public class GoodsBean extends HttpResult implements Cloneable{
@Override
protected Object clone() throws CloneNotSupportedException {
    GoodsBean o = null;
    try {
        o = (GoodsBean) super.clone();
    } catch (CloneNotSupportedException e) {
        e.printStackTrace();
    }
    return o;
}
public  ArrayList<GoodsBean> deep_clone(ArrayList<GoodsBean> cells, ArrayList<GoodsBean> clone_cells){
    for(GoodsBean c : cells){
        try {
            clone_cells.add((GoodsBean) c.clone());
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
    }
    return clone_cells;
}
}

관련 권장 사항: Java 입문 튜토리얼

위 내용은 Java는 복사 목록을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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