字符串如何解析成对象?

问题如下:
有如下字符串“01100101011001100101010101000110001110101110001100”
我要把这一个解析成一个User对象,解析规则如下,
前6位是id,
往后4位是username,
6位是password,
4位是sex,就像这样,
我该怎么解析呢?怎么解析比较好?

String str = "01100101011001100101010101000110001110101110001100";

User.setId(str.substr(0, 6));
User.setUserName(str.substr(6, 10));
User.setPassword(str.substr(10, 16));
User.setSex(str.substr(16, 20));

Java的话给User类一个字符串参数的构造方法,在方法里想怎么解析就怎么解析。

如果字符串规则明确,考虑正则

1、你可以先 判断一下字符串长度是否正确。使用协议传输数据,首先要判断接收的数据是否正确,再进行转换
2、你的转换规则是怎样的?是否是字符串转二进制 再转十进制,如果是,建议先转成一个十六进制的32位的数;去掉多余的位,然后按照你的解析协议拆分字符串,然后再分别解析;

构建一个user类,当然类里面需要包含你说的这些字段,
然后用java里面的字符串截取函数substring(),如str.substring(2,4)就是截取第2到第4个字符,返回值赋值给相应的字段就可以了

这么传输数据只能每个截取解析吧

传输这种数据使用json吧 对象转换方便

构建一个类咯

public class myuser{
private String inputStr;
private int id;
private String userName

 public int getInputStr(){
            return inputStr;
 }

 pulic void setInputStr(String userName){
        this.inputStr = inputStr;
 }

 public String getUserName(){
        return =  this.inputStr.substr(6, 10);
 }

 public void setUserName(String userName){
    this.userName = userName
 }

}

以此类推。只有赋值inputStr,就可以get出其他字段。

这问题你还问人,都是直接截取。
放一个String类型字符串,直接在对象中截取
getNme(String str){
return str.substring(开始,结束)
先判断 str的长度
}

1、把要映射的字段和对应的字符串角标都初始化到map中
2、遍历map,通过反射把每次截取的字符串执行set"FieldName"