본문 바로가기
자바

Java에서 개체를 어떻게 복사합니까?

by º기록 2021. 4. 8.
반응형

아래 코드를 고려하십시오.

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

 

 

반응형

댓글