現在比較一下兩段相似的代碼
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中的變量進行修改。