不知道我應該怎樣稱呼它,但這是我遇到的一段代碼。括號中的類型名稱
ArrayList<String> c1 = (ArrayList<String>)(Collection1.clone());
c1.addAll(collection2);
這兩個括號(ArrayList<String>)(Collection1.clone())
做什麼?
謝謝。
不知道我應該怎樣稱呼它,但這是我遇到的一段代碼。括號中的類型名稱
ArrayList<String> c1 = (ArrayList<String>)(Collection1.clone());
c1.addAll(collection2);
這兩個括號(ArrayList<String>)(Collection1.clone())
做什麼?
謝謝。
這就是所謂的鑄造,即Collection1.clone()
的結果正被鑄造爲ArrayList<string>
。
(ArrayList<string>)(Collection1.clone())
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^
Type of Cast Object to cast
這是明確的類型轉換。第一個括號包含要投射的類型,第二個括號包含要投射的實際對象。
(ArrayList<string>)(Collection1.clone());
是相同
(ArrayList<string>) Collection1.clone();
您是鑄造返回的對象從Collection1.clone()
到ArrayList<String>
。第二套()
,大約Collection1.clone()
是多餘的。
這是否意味着Collection1被「轉換」爲ArrayList(我知道ArrayList是一個Collection類)? – user3462775
yap,'Collection1'對象將被轉換爲'ArrayList'類型的對象。 –