在项目中,有时候有一些比较重要的对象经常被当作参数传来传去,和C语言的值传递不同,java语言的传递都是引用传递,在任何一个地方修改了这个对象的值,就会导致这个对象在内存中的值被彻底改变.但是很多时候我们并不想去真正的改变这个对象,只是使用它的某些属性,却因为不小心改变后忘记了恢复,或者被团队中不知情的别人给改变了.这样的话,后果将是不可预料的,可能会花上很久也发现不了自己的对象在哪被改了,尤其在大型项目中,很多人都在操作同一个对象,一旦有人在对象的主人不知情的情况下,修改了这个对象的值,那么很…