最近在看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";
}
就沒有任何問題我總結了下 1、在調用的參數內部 無論是基本類型還是引用類型 其值不可改變(引用類型指的引用對象不變)
2、引用類型中屬性可變
3、