如何在ArrayList中迭代一个类?

import java.util.*;
class Animal{
String dog; String cat;
}
public class Arraylist {
 public static void main (String[] args) {

     Animal var=new Animal();
     var.dog="german";
     var.cat="persian";

     List <Animal> al=new ArrayList<Animal>();
     al.add(var);

     Iterator itr= al.listIterator();
     while(itr.hasNext())
     {System.out.print(", "+ itr.next());}
   }
}

现在我想迭代这个类的元素.我怎么能这样做?
谢谢!

最佳答案 您正在迭代您的类的元素.

我看到一些潜在的问题:

>将您的类从Arraylist重命名为其他类似于java.util.ArrayList的类.
>将Iterator itr = …更改为Iterator< Animal> ITR = …
>如果您的Animal类没有覆盖toString,它应该.否则System.out.print(“,”itr.next())将不会打印有意义的输出.

关于第3点.添加到您的Animal类(可能还有这个类的子类,具体取决于您要打印的内容):

@Override
public String toString ()
{
    return "someStringThatRepresentsTheStateOfYourAnimalObject";
}
点赞