for循环变量声明为 final
2016-09-13 20:48
190 查看
防止在循环体里修改循环变量
在默认情况下,编译器是允许在第二种for循环的循环体里,对循环变量重新赋值的。不过,因为这种做法对循环体外面的情况丝毫没有影响,又容易造成理解代码时的困难,所以一般并不推荐使用。Java提供了一种机制,可以在编译期间就把这样的操作封杀。具体的方法,是在循环变量类型前面加上一个“final”修饰符。这样一来,在循环体 里对循环变量进行赋值,就会导致一个编译错误。借助这一机制,就可以有效的杜绝有意或无意的进行“在循环体里修改循环变量”的操作了。
for (final Map.Entry<String,List<A>> entry : B.entrySet()) {
}
相关文章推荐
- 读书笔记之 将所有增强for语句的循环变量声明为final类型
- 在 JavaScript 核心语言中,全局对象的预定义属性都是不可枚举的,所有可以用 for/in 循环列出所有隐式或显式声明的全局变量
- oracle存储过程、声明变量、for循环
- for循环中的变量声明1
- for循环绑定事件时,var和let声明循环变量的区别
- for循环中声明变量的一个问题回顾
- 解决VC6和VC2008的for循环变量作用域不同问题的一个方法
- VC6项目升级到VS2008,原有项目中for循环变量的修改
- c++,在VS2008中讨论for{}声明变量的作用域。
- 命令行参数的使用、goto标签的使用以及for循环中局部变量声明问题
- 不要把无符号类型的数作为 for 递减循环体内的循环变量
- 关于for语句结束循环时变量的值
- 21天学通c++之7.10 for 循环 初始化多个变量
- 关于For循环中定义的变量在循环外的引用
- 好久没写博客了,今天没事测试一下浏览器for循环顺序不同及定义变量位置不同的效率
- 关于for循环体里变量的声明的使用在c++、c#里的区别
- 关于Java for循环括号中的变量的Java测试
- 对Visual C++中for语句中初始化部分声明的变量的作用域存在的问题
- 批处理问题:SET 命令在 FOR 循环中失效 / SET 环境变量生存域/作用域
- delphi 7 - delphi 2010 测试 for 循环中也能改变 循环变量的值为任意值