将字符串转换成对象
需求:将一串长字符串转换成 集合
字符串例子:
AppUseBean{appName='抖音', useCount=2, useTime='02:05:00', packageName='douyin', firstOpenTime='2023-03-01 12:20:20', lastUsedTime='2023-03-01 14:25:00'},AppUseBean{appName='视频', useCount=2, useTime='02:05:00', packageName='douyin', firstOpenTime='2023-03-01 12:20:20', lastUsedTime='2023-03-01 14:25:00'},AppUseBean{appName='王者', useCount=2, useTime='02:05:00', packageName='douyin', firstOpenTime='2023-03-01 12:20:20', lastUsedTime='2023-03-01 14:25:00'}
对象
@Getter
@Setter
public class AppUseBean {
@ApiModelProperty(value = "app名字")
private String appName;
@ApiModelProperty(value = "次数")
private Integer useCount;
@ApiModelProperty(value = "使用时间")
private String useTime;
@ApiModelProperty(value = "包名")
private String packageName;
@ApiModelProperty(value = "当天第一次使用时间")
private String firstOpenTime;
@ApiModelProperty(value = "最后一次使用时间")
private String lastUsedTime;
@Override
public String toString() {
return "AppUseBean{" +
"appName='" + appName + '\'' +
", useCount=" + useCount +
", useTime='" + useTime + '\'' +
", packageName='" + packageName + '\'' +
", firstOpenTime='" + firstOpenTime + '\'' +
", lastUsedTime='" + lastUsedTime + '\'' +
'}';
}
}
根据字符串 截取
public static final List<AppUseBean> perportDataUtil(String appData){
String[] tests = appData.split("AppUseBean");
List<AppUseBean> listBean = new ArrayList<>();
//截取出的数组
for (String s : tests){
if(!"".equals(s)){
//去除数组中的 大括号
String d = s.substring(s.indexOf("{")+1,s.indexOf("}"));
System.out.println("d="+d);
//再根据 “,” 分割数组
String[] ss = d.split(",");
System.out.println("进入A的 for循环");
AppUseBean bean = new AppUseBean();
for(String a : ss){
System.out.println("a="+a);
//替换字符串中存在的空格
String g = a.replace(" ","");
//根据 = 分割字符串
String[] f = g.split("=");
System.out.println("进入E 的 for循环");
System.out.println("f[0]="+f[0]);
System.out.println("f[1]="+f[1]);
//根据循环 识别 对应的字段名称
if("appName".equals(f[0])){
bean.setAppName(f[1]);
}
if("useCount".equals(f[0])){
bean.setUseCount(Integer.valueOf(f[1]));
}
if("useTime".equals(f[0])){
bean.setUseTime(f[1]);
}
if("packageName".equals(f[0])){
bean.setPackageName(f[1]);
}
if("firstOpenTime".equals(f[0])){
bean.setFirstOpenTime(f[1]);
}
if("lastUsedTime".equals(f[0])){
bean.setLastUsedTime(f[1]);
}
System.out.println("bean="+bean.getAppName());
}
listBean.add(bean);
}
}
return listBean;
}
浅记录一下。