You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java ArrayList迭代问题:创建类对象列表后无法遍历输出元素

问题原因与解决方案

你的代码里存在一个关键疏漏:你创建了Test对象,但从来没把这些对象添加到定义好的ArrayList itr 中,所以迭代列表时它是空的,自然没有任何输出。

核心问题点

在第一个for循环里,你每次实例化Test t并给属性赋值,但缺少了将对象加入列表的关键步骤——没有执行itr.add(t)把对象存入集合。

修正后的完整代码

import java.util.*;

class Test {
    int N;
    String s;
}

public class Main {
    public static List<Test> itr = new ArrayList<Test>();
    
    public static void main(String args[]) {
        int i;
        for(i = 0; i < 12; i++) {
            Test t = new Test();
            t.N = i;
            if(i % 2 == 0) {
                t.s = "Even";
            } else {
                t.s = "Odd";
            }
            // 新增:把创建好的Test对象添加到列表中
            itr.add(t);
        }
        
        for(Test t : itr) {
            System.out.println(t.N + " " + t.s);
        }
    }
}

预期运行输出

执行修正后的代码,就能得到你想要的结果:

0 Even
1 Odd
2 Even
3 Odd
4 Even
5 Odd
6 Even
7 Odd
8 Even
9 Odd
10 Even
11 Odd

可选优化建议

为了让代码更符合Java编码规范,还可以做这些调整:

  • 将Test类的属性名改为小驼峰格式(比如N改成number,s改成status)
  • 给Test类添加构造方法,简化对象创建流程
  • 使用更具语义的变量名(比如itr改成testList)

内容的提问来源于stack exchange,提问作者NARASHIMA M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:25:14