java中什么是加强版的for循环?

什么是加强版的for循环/他的执行过程是怎样的/在使用时我们要注意什么?

从java 5.0开始,Java语言就有加强版的for循环
for(String name:nameArray){
.......................
}
编译器会认为:
1.创建名称为name的String变量。
2.将nameArray的第一个元素赋给name。
3.执行重复的内容。
4.赋值给下一个元素name。
5.重复执行至所有的元素都被运行为止
里面的数据类型是任意的,只要前面的数据类型和后面要遍历的集合中的元素的类型一致即可。例如:ArrayList list=new ArrayList();list.add(1);list.add("test");list.add(new Date()); for(Object obj : list){ System.out.println(obj);}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-30
注意是:1.不要在循环体里修改循环变量。2.对循环变量的类型有一定的限制 循环变量的类型可以和要被遍历的对象中的元素的类型相同。例如,用int型的循环变量来遍历一个int[]型的数组,用Object型的循环变量来遍历一个Collection等。当然循环变量的类型可以是要被遍历的对象中的元素的上级类型。例如,用int型的循环变量来遍历一个byte[]型的数组。3.加入更精确的类型控制  如果在遍历自定义的可遍历对象的时候,想要循环变量能使用比Object更精确的类型,就需要在实现java.lang.Iterable接口和java.util.Iterator接口的时候,借助J2SE 1.5中的泛型机制,来作一些类型指派的工作。  如果想要使循环变量的类型为T,那么指派工作的内容是:  在所有要出现java.lang.Iterable的地方,都写成“Iterable<T>”。  在所有出现java.util.Iterator的地方,都写成“Iterator<T>”。  在实现java.util.Iterator的接口的时候,用T作为next()方法的返回值类型。
第2个回答  2013-08-30
从java 5.0开始,Java语言就有家加强版的for循环ArrayList <Student> aList=new ArrayList<Student>();如果aList中有学生
for(Student s:aList){
FOR 中会扁历aList中的每一个元素
}
相似回答