8.构造一个 List<Student> , Student 有 name 和 age 两个属性。将 List<Student> 转换成 List<User>。 User里有 userName 和 userAge两个属性。
时间: 2024-06-08 16:07:16 浏览: 90
可以使用 Java 8 的 Stream API 来完成这个转换过程,示例代码如下:
```java
import java.util.ArrayList;
import java.util.List;
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;
}
}
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;
}
}
public class Main {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student("Tom", 20));
students.add(new Student("Jerry", 18));
List<User> users = students.stream()
.map(student -> new User(student.getName(), student.getAge()))
.toList();
System.out.println(users);
}
}
```
首先定义了两个类 `Student` 和 `User`,分别表示学生和用户。然后在 `Main` 类中创建了一个 `List<Student>`,并添加了两个学生数据。
接下来使用 Stream API 中的 `map()` 方法将 `List<Student>` 转换成 `List<User>`,`map()` 方法接受一个 `Function` 函数式接口,用于将 `Student` 对象转换成 `User` 对象。最后使用 `toList()` 方法将 Stream 转换成 `List<User>`。
运行程序,输出结果为:
```
[User{userName='Tom', userAge=20}, User{userName='Jerry', userAge=18}]
```
阅读全文