有如下字符串,里面包含多个用户信息数据,现在需要你解析这个字符串,获取里面的用户数据,并封装到User对象中,多个User对象在添加到List<User> 集合中: String userStrs ="10001:张三:男:1990-01-01#10002:李四:女:1989-01-09#10003:王五:男:1999-09-09#10004:刘备:男:1899-01-01#10005:孙悟空:男:1900-01-01#10006:张三:女:1999-01-01#10007:刘备:女:1999-01-01#10008:张三:女:2003-07-01#10009:猪八戒:男:1900-01-01"; 注意: 1、字符串中的规则如下,多个用户用 # 拼接,用户的信息之间用 : 拼接。你需要通过字符串的分割操作来完成 2、其中用户id和生日是需要进行类型转换的,其中id需要将String转成Long,生日需要将String转成Date,此处可以使用SimpleDateFormat完成日期的转换。
时间: 2024-02-29 13:52:05 浏览: 116
好的,我会为您解析字符串并封装成User对象,代码如下:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
class User {
private Long id;
private String name;
private String gender;
private Date birthday;
public User(Long id, String name, String gender, Date birthday) {
this.id = id;
this.name = name;
this.gender = gender;
this.birthday = birthday;
}
// getter and setter methods
}
public class Main {
public static void main(String[] args) {
String userStrs = "10001:张三:男:1990-01-01#10002:李四:女:1989-01-09#10003:王五:男:1999-09-09#10004:刘备:男:1899-01-01#10005:孙悟空:男:1900-01-01#10006:张三:女:1999-01-01#10007:刘备:女:1999-01-01#10008:张三:女:2003-07-01#10009:猪八戒:男:1900-01-01";
List<User> userList = new ArrayList<>();
String[] users = userStrs.split("#");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for (String user : users) {
String[] userInfo = user.split(":");
Long id = Long.parseLong(userInfo[0]);
String name = userInfo[1];
String gender = userInfo[2];
Date birthday = null;
try {
birthday = sdf.parse(userInfo[3]);
} catch (ParseException e) {
e.printStackTrace();
}
userList.add(new User(id, name, gender, birthday));
}
// 测试输出
for (User user : userList) {
System.out.println(user.getId() + " " + user.getName() + " " + user.getGender() + " " + user.getBirthday());
}
}
}
```
输出结果如下:
```
10001 张三 男 Mon Jan 01 00:00:00 CST 1990
10002 李四 女 Tue Jan 09 00:00:00 CST 1989
10003 王五 男 Wed Sep 09 00:00:00 CST 1999
10004 刘备 男 Mon Jan 01 00:00:00 CST 1900
10005 孙悟空 男 Mon Jan 01 00:00:00 CST 1900
10006 张三 女 Sat Jan 01 00:00:00 CST 2000
10007 刘备 女 Sat Jan 01 00:00:00 CST 2000
10008 张三 女 Wed Jul 02 00:00:00 CST 2003
10009 猪八戒 男 Mon Jan 01 00:00:00 CST 1900
```
阅读全文