最近在看spring 源码深度解析 看到了许多方法中的参数被final修饰符修饰 什么作用自己蒙了 难道在方法中不允许修改参数么
网上查了查 恍然大悟
final类型修饰的参数分为两种类型 基本类型 与引用类型
final修饰基本类型如下
<span style="white-space:pre"> </span>public void getValue(final int a){ <span style="white-space:pre"> </span>.... <span style="white-space:pre"> </span>}如果在方法中修改上述方法的参数则会报错如下图
final 修饰引用类型
public void getValue(final Integer a){ ......... }相同的 如果修改所引用的对象也是会提示上述错误的
但是换种方式
public void getValue(final Contract c){ c.hourSpanName="aa"; }就没有任何问题
2、引用类型中属性可变
3、
原文地址:http://blog.csdn.net/majun_guang/article/details/44963695