一个普遍存在的误解是:java中的参数是以by reference方式传递,这不是真的,参数是以by value的方式传递的,可能这个都是跟“所有java object都是object references”。
事实上参数传递是对象的reference的附件打交道,而不是对象的附件。
如果你不同意改变在传递的函数内部改变被传入对象的值,有两种方法。
1、传递这个对象的克隆件(clone)。
2、使传入的这个对象immutable。
一个普遍存在的误解是:java中的参数是以by reference方式传递,这不是真的,参数是以by value的方式传递的,可能这个都是跟“所有java object都是object references”。
事实上参数传递是对象的reference的附件打交道,而不是对象的附件。
如果你不同意改变在传递的函数内部改变被传入对象的值,有两种方法。
1、传递这个对象的克隆件(clone)。
2、使传入的这个对象immutable。