现在比较一下两段相似的代码
foreach语句
Connection[] pool = new Connection[10];
for(Connection conn : pool){
conn = new Connection();
其中Connection是已定义的一个类
for语句
Connection[] pool = new Connection[10];
for(int i = 0; i < pool.length; i++)
pool[i] = new Connection();
这两段代码所做的工作是不一样的,foreach语句是新建了多个Connection 的引用conn来接收数组pool中变量的引用值,然后所有的修改都是在新建变量conn上进行的。
而for语句则是直接对数组pool中的变量进行修改。