8.构造一个 List<Student> , Student 有 name 和 age 两个属性。将 List<Student> 转换成 List<User>。 User里有 userName 和 userAge两个属性。
时间: 2024-05-12 21:15:49 浏览: 60
可以使用 Java 8 的 Stream API 来完成这个任务。具体的代码实现如下:
```java
import java.util.ArrayList;
import java.util.List;
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student("Alice", 18));
students.add(new Student("Bob", 20));
students.add(new Student("Charlie", 22));
List<User> users = students.stream()
.map(student -> new User(student.getName(), student.getAge()))
.toList();
System.out.println(users);
}
}
class User {
private String userName;
private int userAge;
public User(String userName, int userAge) {
this.userName = userName;
this.userAge = userAge;
}
public String getUserName() {
return userName;
}
public int getUserAge() {
return userAge;
}
@Override
public String toString() {
return "User{" +
"userName='" + userName + '\'' +
", userAge=" + userAge +
'}';
}
}
```
运行结果如下:
```
[User{userName='Alice', userAge=18}, User{userName='Bob', userAge=20}, User{userName='Charlie', userAge=22}]
```
在以上代码中,我们首先定义了一个 `Student` 类和一个 `User` 类。然后我们创建一个 `List<Student>` 对象,并向其中添加了三个 `Student` 对象。接着我们使用 `stream()` 方法将 `List<Student>` 转换成一个流,在流中使用 `map()` 方法将每个 `Student` 对象转换成 `User` 对象,并最终使用 `toList()` 方法将流转换成 `List<User>` 对象。最后我们打印输出了这个 `List<User>` 对象。
阅读全文