📅  最后修改于: 2023-12-03 14:53:51.981000             🧑  作者: Mango
当你需要将一个数组列表项转换为字符串时,可以使用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()
方法,让它返回一个包含名字和年龄的字符串。这个方法在调用List
的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{name='张三', age=18}, Person{name='李四', age=20}, Person{name='王五', age=22}]
可以看到,现在toString()
方法返回了每个人的名字和年龄。
总的来说,将数组列表项转换为字符串可以使用Java中的toString()
方法。如果需要返回自定义的字符串,可以在对象中重写toString()
方法。