嗨,我不知道如何使用迭代器迭代通用列表。
例如我有这样的东西:
public class a{
protected int _b;
protected String _c;
protected float _d;
protected int _e;
public a(int b, String c, float d, int e){
// assign value _b,_c,_d,_e
}
static class ab implement Iterable<a>{
public static List myList = new ArrayList(a);
public static void addlist(a f){
myList.add(f);
public Iterator<a> iterator(){
return myList.iterator()}// overriding List iterator method
然后在主方法中,我通过创建类 a 的实例来为 _b、_c、_d、_e 分配值并将其添加到 myList 中,但是当我使用迭代器时,它不会显示列表,但会显示内存位置(我猜)该列表中的。我想让它一一显示a类中的所有字段。有什么建议我应该做什么吗???
最佳答案
它不显示列表,但显示该列表的内存位置(我猜)。
。
它显示内存位置,因为您尚未重写 toString
方法,因此它会退回到默认的 Object
实现。您需要重写 a
类中的 toString
方法。
如果您添加类似以下内容:
public String toString()
{
return // Some string data.
}
对于您的a
类,您将开始看到正确的输出。
注意:Java 命名约定规定所有类都应以大写字母开头,并且每个单词都有一个大写字母。即:a -> A
。
关于java - java 遍历通用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15998297/