如何使用每个迭代类的对象

时间:2016-07-30 13:53:37

标签: java

我想知道我是否可以使用每个循环迭代一个类的对象。例如,我创建了一个类型汽车的对象本田。我将汽车的所有状态,如型号,价格,颜色等附加到它上面。我想要打印汽车的所有实例。我不想使用print语句来打印每个实例。最好的方法是什么?感谢。

以下是我的java代码

echo "1111111111111; 2222222222; 8; 2; 3; UNKNOW;"

2 个答案:

答案 0 :(得分:2)

您最好覆盖toString类中的Car方法,只需将其打印为:

System.out.println(model);

实际上,您无需单独打印每个实例变量。您的toString可能包含以下视图:

public @Override String toString() {
    return modelName + " [" + color + ... + "]"; // also consider StringBuilder
}

如果您来自对象是关联数组(例如JavaScript)的语言,并询问如何使用Java中的foreach循环打印实例,那么答案是Java不允许它(虽然可以通过反射),但你不能通过foreach迭代对象变量。

答案 1 :(得分:0)

  

我不想使用print语句打印每个实例

好吧,你将不得不建立一个字符串并将其打印到某个地方。

  

最好的方法是什么?

如果我理解正确,你想打印一个物体?

然后实现toString()方法。

public class Classes {
    // other code 
    public String toString() {
        // change how you want 
        return this.name + ", " + this.age; 
    } 
} 

然后你可以做

System.out.println(friend1);

如果要打印对象列表,则需要循环列表。您可以使用反射来获取对象字段和值的列表,但这似乎是不必要的。