Java 使用对象的ArrayList显示类成员值

Java 使用对象的ArrayList显示类成员值,java,android,arraylist,iterator,Java,Android,Arraylist,Iterator,我不熟悉java和android。我创建了一个定义如下的类: public class MyClass { int id; String name; } 现在我正在创建类的对象,初始化类成员的值,并将对象添加到数组列表中,如下所示: MyClass myclassobj1 = new MyClass(); myclassobj1.id = 1; myclassobj1.name = "Abhishek"; MyClass myclassobj2 = new MyClass();

我不熟悉java和android。我创建了一个定义如下的类:

public class MyClass {
    int id;
    String name;
}
现在我正在创建类的对象,初始化类成员的值,并将对象添加到数组列表中,如下所示:

MyClass myclassobj1 = new MyClass();
myclassobj1.id = 1;
myclassobj1.name = "Abhishek";
MyClass myclassobj2 = new MyClass();
myclassobj2.id = 2;
myclassobj2.name = "Kumar";


ArrayList<MyClass> taskList = new ArrayList<MyClass>();
taskList.add(myclassobj1);
taskList.add(myclassobj2);

现在,当我迭代数组列表时,我想记录我添加到类成员的值,这是我无法做到的

while (it.hasNext())
            Log.d(TAG,it.next().getClass().getDeclaredFields().toString());

请帮助

您应该这样做:

List<MyClass> taskList = new ArrayList<MyClass>();
taskList.add(new MyClass(1, "kumar1"));
taskList.add(new MyClass(2, "kumar2"));
MyClass的外观示例如下:

class MyClass {
    private int id;
    private String name;
    public MyClass(int id, String name) {
    this.id = id;
    this.name = name;
    }
    @Override
    public String toString() {
    return "MyClass [id=" + id + ", name=" + name + "]";
    }

}
编辑: 我怀疑您希望迭代器获取列表中的值,而不是字段的名称

实现如下所示:

Iterator<MyClass> it = taskList.iterator();
while (it.hasNext()) {
    System.out.println(it.next().getClass().getDeclaredFields().toString());
    System.out.println(it.next().getId());
    System.out.println(it.next().getName());
}

如果所有其他事情看起来都很好,您可以迭代arraylist,如下所示:

for (MyClass task : taskList) {
    Log.d(TAG, task.id + " " + task.name);
}

我的代码中基本上没有这些部分,这就是为什么我无法获取(记录)类成员的值

第一:

public class MyClass {

     int id;
     String name;

    public String getId() {
        return id+"";
    }

    public String getName() {
        return name;
    }
}
第二:

Iterator<MyClass> it = taskList.iterator();

        while (it.hasNext()){
            MyClass myobj = it.next();
            Log.d(TAG,myobj.getId());
            Log.d(TAG,myobj.getName());
        }
Iterator it=taskList.Iterator();
while(it.hasNext()){
MyClass myobj=it.next();
Log.d(标记,myobj.getId());
Log.d(标记,myobj.getName());
}

“我想记录我添加到类成员中的值,这是我无法做到的”,你这么说是什么意思?我的第一句话是,我是java新手,还有一个缺点。当我还是新手的时候,这里不是帮助的地方吗?说实话,我没有投你一票。也就是说,知道如何提问与作为一个特定技术的新手无关。我不同意,当你是一个新手时,你会有不同类型的疑问,你会相应地提问。请回忆你的日子。当你成为专家时,这些疑问就变成了错误的提问方式。你的问题的根本问题是你没有展示你得到的预期产出和实际产出。这就是在这里提出好问题的关键所在。就像我说的,提出好的问题与你对这个主题了解多少无关。你想知道为什么你会有消极的观点。。这就是原因。当我使用迭代器时,有没有办法获取值?因此在类中,我需要定义方法来返回id和name成员值。是吗?it.next().getId()给出了一个错误,getter不可访问。对了,伙计,你帮了大忙。尽管按照Java编码,您的方法非常正确,但在我的代码中,我唯一不能正确执行的是迭代器it=taskList.Iterator();我像迭代器it=taskList.Iterator()那样做;这可以从你的代码中提取。
for (MyClass task : taskList) {
    Log.d(TAG, task.id + " " + task.name);
}
public class MyClass {

     int id;
     String name;

    public String getId() {
        return id+"";
    }

    public String getName() {
        return name;
    }
}
Iterator<MyClass> it = taskList.iterator();

        while (it.hasNext()){
            MyClass myobj = it.next();
            Log.d(TAG,myobj.getId());
            Log.d(TAG,myobj.getName());
        }