java怎样可以确保“阻止方法内部 修改 传进来的参数对象”

...为啥要喷你呢实际上这种需求是很普遍的 实现并不难首先 参数对象内部全部都是final属性如果是这样的话 就有人要骂傻逼了 "呵呵 这样初始化对象不是要一次性把参数传进去么 傻逼"so... 你知道Builder类的作用么?StringBuilder其实就是一种Builder 在数据可能发生变化的时候不会创建目标对象 一旦可以定为常量后 创建完毕就不更改了类似的 比如MINA或者Netty或者Grizzly的各种FilterBuilder 或者 PB的对象创建Builder还有一种 就是传递进去的是集合属性 Collections有几个方法是将集合结构改为只读的所以 还有啥问题咩?
■网友
只通过signiture应该是做不到的
■网友
把参数弄成不可变的,加 final 就 ok 了。多用不可变的对象和 builder 模式好处挺多的,去看看 《Effective Java》。


    推荐阅读