Java 如何使用for each迭代类的对象
我想知道是否可以使用for-each循环遍历类的对象。例如,我创建了一个honda类型的对象car。我将汽车的所有状态,如型号、价格、颜色等附加到汽车上。我想打印汽车的所有实例。我不想使用print语句来打印每个实例。最好的方法是什么?谢谢 下面是我的java代码Java 如何使用for each迭代类的对象,java,Java,我想知道是否可以使用for-each循环遍历类的对象。例如,我创建了一个honda类型的对象car。我将汽车的所有状态,如型号、价格、颜色等附加到汽车上。我想打印汽车的所有实例。我不想使用print语句来打印每个实例。最好的方法是什么?谢谢 下面是我的java代码 package classandobjects; public class MainClass { public static void main(String[] args) { Classes fri
package classandobjects;
public class MainClass {
public static void main(String[] args) {
Classes friend1 = new Classes();
friend1.name="yusuf";
friend1.age=27;
friend1.country="Nigeria";
friend1.department="EE";
friend1.gender="male";
Classes friend2 = new Classes();
friend1.name="mathew";
friend1.age=30;
friend1.country="Nigeria";
friend1.department="EE";
friend1.gender="male";
FavPlayers player = new FavPlayers();
player.pname="J.Terry";
player.position="C.Back";
player.gaols=38;
player.awards="25-awards";
FavPlayers player1 = new FavPlayers();
player1.pname="F.Lampard";
player.position="Midfield";
player.gaols=50;
player.awards="10-awards";
Car model = new Car();
model.modelName="Honda Civic";
model.color="Ash-color";
model.Doors="4-doors";
model.price=900000;
System.out.println("below is my friend information");
System.out.println(friend1.name);
System.out.println(friend1.age);
}
}
您最好在
Car
类中重写toString
方法,并简单地按如下方式打印:
System.out.println(model);
实际上,您不需要单独打印每个实例变量。您的toString
可能具有以下视图:
public @Override String toString() {
return modelName + " [" + color + ... + "]"; // also consider StringBuilder
}
如果您来自对象是关联数组(例如JavaScript)的语言,并询问如何在Java中使用foreach
循环打印实例,那么答案是Java不允许这样做(虽然可以通过反射实现),并且您无法通过foreach
对对象变量进行迭代
我不想使用print语句来打印每个实例
嗯,你必须建立一个字符串并在某个地方打印出来
最好的方法是什么
如果我理解正确,您想打印对象吗
然后实现一个toString()
方法
public class Classes {
// other code
public String toString() {
// change how you want
return this.name + ", " + this.age;
}
}
那你就可以了
System.out.println(friend1);
如果要打印对象列表,则需要一个循环列表。您可以使用反射来获取对象字段和值的列表,但这似乎是不必要的。只是一个建议,但
Classes
看起来像一个项目的单个实例。因此,类名应该是class
,如果它们存储在列表、集合或数组中,则可以使用for-each。代码中没有任何内容可用于with。问题是询问[打印汽车]的最佳方式,即根据链接的问题,通过覆盖toString来打印汽车实例。@cricket\u 007-True。虽然Class
对一个类来说不是一个好名字;)不客气,但是请