2014-03-26 50 views
2

不知道我應該怎樣稱呼它,但這是我遇到的一段代碼。括號中的類型名稱

ArrayList<String> c1 = (ArrayList<String>)(Collection1.clone()); 
c1.addAll(collection2); 

這兩個括號(ArrayList<String>)(Collection1.clone())做什麼?

謝謝。

回答

0

這就是所謂的鑄造,即Collection1.clone()的結果正被鑄造爲ArrayList<string>

0
(ArrayList<string>)(Collection1.clone()) 

^^^^^^^^^^^^^^^^   ^^^^^^^^^^^ 
Type of Cast   Object to cast 

這是明確的類型轉換。第一個括號包含要投射的類型,第二個括號包含要投射的實際對象。

+0

這是否意味着Collection1被「轉換」爲ArrayList(我知道ArrayList是一個Collection類)? – user3462775

+0

yap,'Collection1'對象將被轉換爲'ArrayList'類型的對象。 –

1

(ArrayList<string>)(Collection1.clone());是相同

(ArrayList<string>) Collection1.clone();

您是鑄造返回的對象從Collection1.clone()ArrayList<String>。第二套(),大約Collection1.clone()是多餘的。