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

如何从ArrayList中打印存储的自定义类对象的属性值?

解决方法

首先你提供的示例代码存在变量重复声明的错误,第三行代码应修改为:
Car car3 = new Car("make3", "model3", 100000);

因为你声明ArrayList时已经指定了泛型为<Car>,从集合中取出的元素默认就是Car类型,直接调用类中定义的getter方法即可,常用实现方式如下:

方式1:普通for循环遍历

for (int i = 0; i < cars.size(); i++) {
    Car currentCar = cars.get(i);
    System.out.println("品牌:" + currentCar.getMake() + ",型号:" + currentCar.getModel() + ",价格:" + currentCar.getPrice());
}

通过ArrayList.get(int index)方法可以取出对应下标的Car对象,直接调用对应getter方法获取属性值即可。

方式2:增强for循环(更简洁)

for (Car car : cars) {
    System.out.println("品牌:" + car.getMake() + ",型号:" + car.getModel() + ",价格:" + car.getPrice());
}

直接遍历集合中的每一个Car元素,省去下标判断逻辑。

方式3:Java 8及以上版本流式遍历

cars.forEach(car -> System.out.println("品牌:" + car.getMake() + ",型号:" + car.getModel() + ",价格:" + car.getPrice()));

方式4:重写Car类的toString方法(无需手动调用getter)

在Car类中添加toString方法的重写逻辑:

@Override
public String toString() {
    return "Car{" +
            "make='" + make + '\'' +
            ", model='" + model + '\'' +
            ", price=" + price +
            '}';
}

重写完成后,直接打印集合或者集合中的单个元素就会自动输出属性值:

// 打印整个ArrayList的所有元素属性
System.out.println(cars);
// 打印下标为0的元素属性
System.out.println(cars.get(0));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:06:03