企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 如何在 Java 中覆盖`ArrayList`的`toString`方法 > 原文: [https://beginnersbook.com/2013/12/how-to-override-tostring-method-for-arraylist-in-java/](https://beginnersbook.com/2013/12/how-to-override-tostring-method-for-arraylist-in-java/) 当我们处理对象的[`ArrayList`](https://beginnersbook.com/2013/12/java-arraylist-of-object-sort-example-comparable-and-comparator/)时,必须覆盖[`toString()`方法](https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html#toString())以获得所需格式的输出。在本教程中,我们将了解如何在 Java 中覆盖`ArrayList`的`toString()`方法。 #### 示例: 我们这里有两个类`Student`和`Demo`。`Student`只有两个属性学生姓名和学生年龄。正如您所看到的,我们已经在`Student`类本身中重写了`toString()`方法。在`Demo`类中,我们将学生对象存储在[`ArrayList`](https://beginnersbook.com/2013/12/how-to-initialize-an-arraylist/) 中,然后我们[使用高级`for`循环](https://beginnersbook.com/2013/12/how-to-loop-arraylist-in-java/)迭代`ArrayList`。您可以很好地看到输出采用我们在`toString()`中指定的格式。您可以根据需要提供`toString()`编码。 ```java package beginnersbook.com; public class Student { private String studentname; private int studentage; Student(String name, int age) { this.studentname=name; this.studentage=age; } @Override public String toString() { return "Name is: "+this.studentname+" & Age is: "+this.studentage; } } ``` 另一个类: ```java package beginnersbook.com; import java.util.ArrayList; public class Demo { public static void main(String [] args) { ArrayList<Student> al= new ArrayList<Student>(); al.add(new Student("Chaitanya", 26)); al.add(new Student("Ajeet", 25)); al.add(new Student("Steve", 55)); al.add(new Student("Mary", 18)); al.add(new Student("Dawn", 22)); for (Student tmp: al){ System.out.println(tmp); } } } ``` 输出: ```java Name is: Chaitanya & Age is: 26 Name is: Ajeet & Age is: 25 Name is: Steve & Age is: 55 Name is: Mary & Age is: 18 Name is: Dawn & Age is: 22 ``` 如果我们不会覆盖`toString()`,我们将得到以下格式的输出: **不覆盖`toString()`时上述程序的输出**: ```java [email protected] [email protected] [email protected] [email protected] [email protected] ```