반응형
아래 코드를 고려하십시오.
DummyBean dum = new DummyBean();
dum.setDummy("foo");
System.out.println(dum.getDummy()); // prints 'foo'
DummyBean dumtwo = dum;
System.out.println(dumtwo.getDummy()); // prints 'foo'
dum.setDummy("bar");
System.out.println(dumtwo.getDummy()); // prints 'bar' but it should print 'foo'
따라서 dumtwo
에 dumtwo
를 dumtwo
에 영향을주지 않고 dum
을 변경하고 싶습니다.그러나 위의 코드는 그렇게하지 않습니다. dum
에서 무언가를 바꿀 때 dumtwo
에서도 같은 변화가 일어나고 있습니다.
dumtwo = dum
를 말할 때 Java는 참조 만 만 복사합니다.따라서 dum
의 새로운 사본을 만들고 dumtwo
에 할당하는 방법이 있습니까?
해결 방법
복사 생성자 만들기 :
class DummyBean {
private String dummy;
public DummyBean(DummyBean another) {
this.dummy = another.dummy; // you can access
}
}
참조 페이지 https://stackoverflow.com/questions/869033
반응형
'자바' 카테고리의 다른 글
Java에서 새 목록을 만드는 방법 (0) | 2021.04.08 |
---|---|
바이트에서 바이트 [] in java. (0) | 2021.04.08 |
Java의 배열 길이 (0) | 2021.04.08 |
"java.lang.OutofMemoryError : Permgen Space"오류를 처리합니다 (0) | 2021.04.07 |
Java에서 중첩 된 루프를 어떻게 탈출합니까? (0) | 2021.04.07 |
댓글