1、for each用于基本类型的数组
int[] a=new int[10];//a是管理者
for(int i=0;i<a.length;i++)
{
a[i]=i;
}
for(int k:a)
{//k可不是引用,k有实实在在的存储int的空间
//无论怎么操作k,都和a数组无关
}
2、for each用于对象数组
String[] a=new String[2];//还没有String类型的对象,只是new了两个引用的空间
a[0]="aaa";
a[1]="bbb";//字符串变量数组里的引用终于有了指向
for(String s:a)
{//s只是一个引用,他会指向字符串对象
// 这里改变k都会改变k指向的对象
}
3、for each用于容器
ArrayList<String> a=new ArrayList<String>;
a.add("aaaa");
a.add("bbbb");
for(String s:a)
{
//对s的操作仍然会改变容器中的对象、
}