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、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值