在java中保护方法参数

时间:2016-03-07 06:49:56

标签: java method-call method-parameters

我想保护我传递给被调用方法的方法参数不会被意外更改。我知道我们可以使用final关键字来实现(部分)方法签名中的以下内容。

public void someMethod(final int intVal, final MyClass myobj){}

在上述签名的帮助下,我无法更改intVal的值,但是我可以更改myobj的值(成员)(我可以安全防范参考未被更改,但不是引用对象的成员,为什么我说部分)。

现在我希望保护我的myobj成员,并在被调用的方法someMethod中进行更改。

据我所知,我可以通过以下方式实现这一目标

  1. 创建一个不可变类并将其作为参数传递
  2. 深层复制对象并将克隆的对象发送到方法。
  3. 有没有更好的方法来保护方法参数?

0 个答案:

没有答案