java中final修飾方法傳入參數的影響

最近在看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、

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章