📜  将数组列表项转换为字符串 - Java (1)

📅  最后修改于: 2023-12-03 14:53:51.981000             🧑  作者: Mango

将数组列表项转换为字符串 - Java

当你需要将一个数组列表项转换为字符串时,可以使用Java中的toString()方法。这个方法会将数组列表转换为用逗号分隔的字符串。下面是一个例子:

List<String> list = new ArrayList<>();
list.add("apple");
list.add("orange");
list.add("banana");

String str = list.toString();
System.out.println(str); // 输出 [apple, orange, banana]

可以看到,toString()方法将列表项转换为用方括号包裹的字符串,并用逗号分隔每个元素。

但是,需要注意的是,如果列表中的元素是对象而不是基本类型(如String),那么toString()方法将返回对象的哈希码,而不是你期望的字符串。比如:

List<Person> people = new ArrayList<>();
people.add(new Person("张三", 18));
people.add(new Person("李四", 20));
people.add(new Person("王五", 22));

String str = people.toString();
System.out.println(str); // 输出 [Person@1b6d3586, Person@4554617c, Person@74a14482]

可以看到,toString()方法返回的不是每个人的名字和年龄,而是一串看起来很奇怪的东西。

为了让toString()方法返回我们想要的字符串,我们需要在对象中重写toString()方法。比如:

public class Person {
    private String name;
    private int age;

    // 构造方法和其他方法省略

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

Person类中,我们重写了toString()方法,让它返回一个包含名字和年龄的字符串。这个方法在调用ListtoString()方法时,就会得到我们期望的输出:

List<Person> people = new ArrayList<>();
people.add(new Person("张三", 18));
people.add(new Person("李四", 20));
people.add(new Person("王五", 22));

String str = people.toString();
System.out.println(str); // 输出 [Person{name='张三', age=18}, Person{name='李四', age=20}, Person{name='王五', age=22}]

可以看到,现在toString()方法返回了每个人的名字和年龄。

总的来说,将数组列表项转换为字符串可以使用Java中的toString()方法。如果需要返回自定义的字符串,可以在对象中重写toString()方法。