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

如何在Java中像遍历数组一样简单遍历对象值?

实现自定义对象的数组式遍历

我懂你的需求——就是想像遍历普通数组那样,轻松遍历你创建的多个自定义对象对吧?你现在的问题是myObj1到myObj5是独立的变量,不是数组,所以没法用myObj[i]这种下标方式访问。咱们用最简单的方法解决:把这些对象放进一个数组里,之后遍历就和你熟悉的数组遍历一模一样了!

修改后的完整代码

class myCON{
    int modelYear;
    String modelName;
    public myCON(int year, String name){
        modelYear = year;
        modelName = name;
    }
    public static void main(String[] args){
        // 把所有myCON对象统一放进数组,替代单独定义的myObj1~myObj5
        myCON[] myObjs = {
            new myCON(2005, "Nissan5"),
            new myCON(2006, "Nissan6"),
            new myCON(2007, "Nissan7"),
            new myCON(2008, "Nissan8"),
            new myCON(2009, "Nissan9")
        };

        // 用你熟悉的普通for循环遍历,和遍历int数组逻辑完全一致
        for(int i=0; i<myObjs.length; i++){
            System.out.println(myObjs[i].modelYear + " " + myObjs[i].modelName);
        }

        // 还可以用更简洁的增强for循环(foreach),写起来更省心
        System.out.println("\n--- 用增强for循环遍历 ---");
        for(myCON obj : myObjs){
            System.out.println(obj.modelYear + " " + obj.modelName);
        }
    }
}

额外补充:如果想遍历单个对象的所有属性值

如果你的需求是拿到一个myCON对象后,遍历它自身的modelYear、modelName等属性,也不用复杂的反射,直接给类加一个简单方法返回属性集合即可:

class myCON{
    int modelYear;
    String modelName;
    public myCON(int year, String name){
        modelYear = year;
        modelName = name;
    }

    // 新增方法:返回当前对象的所有属性值
    public List<Object> getProperties(){
        List<Object> props = new ArrayList<>();
        props.add(modelYear);
        props.add(modelName);
        return props;
    }

    public static void main(String[] args){
        myCON myObj = new myCON(2005, "Nissan5");
        // 轻松遍历单个对象的所有属性
        for(Object prop : myObj.getProperties()){
            System.out.println(prop);
        }
    }
}

内容的提问来源于stack exchange,提问作者Just Aname

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:06:55