List<String> 添加到List<User>
时间: 2023-09-01 15:08:34 浏览: 144
假设你有一个 `List<String>`,每个元素表示一个用户,包含用户名和年龄,类似于 "Alice:25" 的格式。现在你需要将这个列表添加到一个已有的 `List<User>` 中,其中 `User` 类型包含两个属性,分别是 `name` 和 `age`。
以下是一个示例代码,将 `List<String>` 添加到 `List<User>` 中:
```java
import java.util.*;
class User {
public String name;
public int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
public class Main {
public static void main(String[] args) {
// 定义一个已有的 User 列表
List<User> userObjList = new ArrayList<>();
userObjList.add(new User("Tom", 20));
userObjList.add(new User("Jerry", 25));
// 定义一个包含多个用户的字符串列表
List<String> userList = Arrays.asList("Alice:25", "Bob:30", "Charlie:35");
// 将字符串列表转换为 User 列表并添加到已有列表中
for (String userStr : userList) {
String[] parts = userStr.split(":");
String name = parts[0];
int age = Integer.parseInt(parts[1]);
User user = new User(name, age);
userObjList.add(user);
}
// 打印 User 列表中每个用户的 name 属性
for (User user : userObjList) {
System.out.println(user.name);
}
}
}
```
输出结果为:
```
Tom
Jerry
Alice
Bob
Charlie
```
在这个例子中,我们首先定义了一个已有的 `List<User>`,包含两个用户。然后我们定义了一个 `List<String>`,其中每个字符串表示一个用户,包含用户名和年龄。接下来我们将这个字符串列表转换为 `List<User>`,其中对于每个字符串,我们使用 `String.split()` 方法分割出用户名和年龄,然后创建一个 `User` 对象并添加到已有的 `List<User>` 中。最后我们遍历 `List<User>` 并打印每个用户的 `name` 属性。
阅读全文