在Java中,可以使用Arrays类的toString()方法将数组转换为字符串并打印出来。然而,这种方法只适用于基本数据类型的数组,而不适用于自定义对象的数组,因为默认情况下,打印对象数组只会显示对象的引用地址。
要解决这个问题,可以通过重写自定义对象的toString()方法来实现自定义的打印格式。下面是一个示例:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
public static void main(String[] args) {
Person[] people = new Person[2];
people[0] = new Person("Alice", 25);
people[1] = new Person("Bob", 30);
// 使用Arrays.toString()方法打印对象数组
System.out.println(Arrays.toString(people));
// 手动遍历数组并打印每个对象
for (Person person : people) {
System.out.println(person);
}
}
}
输出结果如下:
[Person{name='Alice', age=25}, Person{name='Bob', age=30}]
Person{name='Alice', age=25}
Person{name='Bob', age=30}
通过重写toString()方法,我们可以自定义打印格式,使得对象的属性值也能够被打印出来。