以下のコードを検討してください:
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'
だから、に影響を与えずにdum
to をコピーしてdumtwo
変更したいと思います。しかし、上記のコードはそれを行っていません。で何かを変更すると、同じ変更が発生します。dum
dumtwo
dum
dumtwo
おそらく、dumtwo = dum
Javaは参照のみをコピーします。それで、の新しいコピーを作成してdum
それに割り当てる方法はありますdumtwo
か?