2015-10-16 82 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