我想知道我是否可以使用每个循环迭代一个类的对象。例如,我创建了一个类型汽车的对象本田。我将汽车的所有状态,如型号,价格,颜色等附加到它上面。我想要打印汽车的所有实例。我不想使用print语句来打印每个实例。最好的方法是什么?感谢。
以下是我的java代码
echo "1111111111111; 2222222222; 8; 2; 3; UNKNOW;"
答案 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);
如果要打印对象列表,则需要循环列表。您可以使用反射来获取对象字段和值的列表,但这似乎是不必要的。