eclipse为什么提示我要在Map<String,String> 前面用final声明呢?他会对我之后写的东西产生哪些影响,我有哪些要注意的呢?
eclipse为什么提示我要在Map<String,String> 前面用final声明呢?他会对我之后写的东西产生哪些影响,我有哪些要注意的呢?
4 回答1.4k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答740 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
这是java语法的规定。
加了final后一个变量就只读了: 引用类型不能换一个对象,基本类型不能换一个值。java的匿名类其实是内部类的语法糖,内层方法默认无法访问到外层方法中的变量 (不像动态语言的闭包)。final看上去修饰的是变量,实质上使得内层方法可以绑定到外层方法中的一个 "值",不需要像实现闭包那样维护一个scope链。