2015-10-16 85 views
-4

enter image description here返回一個ArrayList

你好,

我試圖附加一個形象,我希望你能夠看到它。 我理解所有的方法在那裏,除了最後一行:

return (Room[])list.toArray(); 

的方法應返回的數組與空間對象,從而Room[]。但圍繞Room[]的括號是什麼意思?方法toArray確保從添加的元素組織的數組?我認爲這可能只是return list.toArray();或不?

+4

不要在文本足夠的地方使用圖片... – JonK

+0

但是,您的代碼是否可以編譯?我懷疑是因爲對'toArray'方法進行的類型轉換不能工作。您需要將房間類型數組傳遞給toArray方法 – SacJn

回答

0

list.toArray()返回一個Object []的數組,因此您實際上必須將其轉換爲獲取一個Room數組。

編輯:

在java中鑄造是你決定到JVM中的對象的類型。在這種情況下,我們有一個通用的Object [],因爲我們確實知道該列表中的所有對象都是Room,所以我們可以在該行之前包含「(Room [])」,以強制編譯器識別返回的數組作爲一組房間。

+0

非常感謝您的評論。因此list最初是Room的ArrayList。然後用list.toArray()返回Object [](不再是ArrayList),然後使用括號(Room [])進行投射,告訴編譯器該列表是一個Room數組? – Consuela