构造一个 List<Student> , Student 有 name 和 age 两个属性。将 List<Student> 转换成 List<User>。 User里有 userName 和 userAge两个属性。
时间: 2024-05-11 18:18:06 浏览: 189
可以使用 Java 8 的 Stream API 和 Lambda 表达式来实现这个需求:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Student> studentList = new ArrayList<>();
studentList.add(new Student("Alice", 20));
studentList.add(new Student("Bob", 21));
studentList.add(new Student("Charlie", 22));
List<User> userList = studentList.stream()
.map(student -> new User(student.getName(), student.getAge()))
.collect(Collectors.toList());
// 输出转换后的 User 列表
for (User user : userList) {
System.out.println(user.getUserName() + " " + user.getUserAge());
}
}
}
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;
}
}
```
输出结果为:
```
Alice 20
Bob 21
Charlie 22
```
可以看到,List<Student> 成功转换为了 List<User>,并且转换后的 User 列表中包含了 Student 列表中的所有元素。
阅读全文