【java】请问,为什么这个方法传入的map eclipse提示我要用fanal来声明

clipboard.png
eclipse为什么提示我要在Map<String,String> 前面用final声明呢?他会对我之后写的东西产生哪些影响,我有哪些要注意的呢?

阅读 1.8k
1 个回答

这是java语法的规定。

加了final后一个变量就只读了: 引用类型不能换一个对象,基本类型不能换一个值。java的匿名类其实是内部类的语法糖,内层方法默认无法访问到外层方法中的变量 (不像动态语言的闭包)。final看上去修饰的是变量,实质上使得内层方法可以绑定到外层方法中的一个 "值",不需要像实现闭包那样维护一个scope链。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题