如何从student类的list对象的stream流中获取所有对象并逐个转化为字符串
时间: 2023-12-29 14:02:41 浏览: 72
您可以使用流的`map()`方法将每个`Student`对象转换为字符串,然后使用`collect()`方法将转换后的字符串收集到一个新的列表中。以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student("John", 20));
students.add(new Student("Alice", 22));
students.add(new Student("Bob", 19));
List<String> studentStrings = students.stream()
.map(Student::toString) // 将每个Student对象转为字符串
.collect(Collectors.toList()); // 收集转换后的字符串到列表
// 打印转换后的字符串
for (String studentString : studentStrings) {
System.out.println(studentString);
}
}
}
class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Name: " + name + ", Age: " + age;
}
}
```
在这个示例中,我们首先创建了一个包含三个`Student`对象的`List`。然后,我们使用流的`map()`方法将每个`Student`对象转换为字符串,这里使用了对象的`toString()`方法。最后,我们使用`collect()`方法将转换后的字符串收集到一个新的列表中。您可以根据实际情况修改`Student`类和转换逻辑。
阅读全文