大家好,我正在做作业,我不明白它的一部分。我已经实现了它,但它没有按照这样的方式工作。它说:
遍历调用toString()的Pizza对象的ArrayList 每个对象的方法,添加方法调用的返回值加 字符串的换行符,称为列表。
这就是我所做的
for(int i=0; i<myList.size()l i++)
{
//myList is arraylist of type Pizza
list +=myList.toString() + "\n";
}
如果有人能说我的实施是否正确,那就太棒了。
答案 0 :(得分:4)
您需要致电ArrayList#get()方法which will return the element at the specified position in this list
。
list +=myList.get(i).toString() + "\n";
答案 1 :(得分:4)
您需要使用for( : )
语法迭代列表元素,而不是for( ; ; )
语法:
for (Pizza item : myList ) {
list += item.toString() + "\n";
}
在您想要浏览列表的所有元素的情况下,您不需要索引变量。在Java 5中添加的每个语法的可以让您更轻松地浏览列表。
答案 2 :(得分:3)
这不正确。 ArrayList是一个拥有自己的方法的对象。
您无法通过myList [index]访问其成员...您必须调用其get()方法...
list + = myList.get(i);
这假设list是一个String,你只是将myList的每个项目连接到(这听起来像你可能不想做的事情,但我不能说你的实际目标是什么)。
正如dasblinkenlight指出的另一种(可能更优雅)方法是跳过for(;;)循环并使用for(:)循环遍历列表并将每个项目抓到自己的变量即时。这种方法的缺点是,如果由于某种原因,您确实需要知道数组列表中的项索引是什么,那么您就没有这方面的信息。