如何在Java中将字符串转换回对象列表

如何在Java中将字符串转换回对象列表,java,string,list,Java,String,List,如何将字符串转换回对象?我有以下课程: class Test { String name; String value; String testing; @Override public String toString() { return "Test{" + "name='" + name + '\'' + ", value='" + value + '\'' +

如何将字符串转换回对象?我有以下课程:

class Test {
    String name;
    String value;
    String testing;

    @Override
    public String toString() {
        return "Test{" +
                "name='" + name + '\'' +
                ", value='" + value + '\'' +
                ", testing='" + testing + '\'' +
                '}';
    }
}

class Testing {
   private List<Test> testing = new ArrayList<Test>();
   handling(testing.toString())
   public String handling(String testing) {
        // do some handling and return a string
   }
}
那么如何将字符串转换回
测试的对象列表


有人能帮忙吗?

如果您不需要确切地
转换字符串
模式,只需要将
对象转换为人类可读的对象,然后再转换回
对象
,您可以使用类似Jackson
ObjectMapper
的工具无缝地封送到json并解析回
Object
。有关快速启动的信息,请参阅。

您可以创建一个附加构造函数,并使用以下字符串调用它们:

类测试{
私有字符串名称;
私有字符串值;
私有字符串测试;
测试(字符串对象字符串){
Pattern=Pattern.compile(“name=('.+')、value=('.+')、testing=('.+');
Matcher Matcher=pattern.Matcher(objString);
if(matcher.matches()){
name=matcher.group(1);
值=匹配器组(2);
测试=匹配组(3);
}否则{
抛出新ArgumentException(“无法分析”):
}
}
@凌驾
公共字符串toString(){
返回“Test{”+
“名称=”“+name+””+
,value='“+value+'”+
,测试=“+”测试+“”+
'}';
}
}
类测试{
点测试(列表测试){
List testingAsString=new ArrayList();
//串
用于(测试t:测试){
testingAsString.add(t.toString());
}
List clonedTesting=new ArrayList();
//检验
for(字符串t:测试字符串){
克隆测试。添加(新测试(t));
}
//在这里,每个测试字符串都是类型test的对象
for(测试t:克隆测试){
系统输出打印ln(t);
}
}  
}

不确定为什么您真的需要它,因为您在范围内有原始的
列表
,但是您可以始终向
Test
类添加一个静态实用程序方法,该方法可以将给定的
String
表示反序列化回
Test
实例中。如果这是针对某种基于文本的api,我建议使用JSON,它更易于解析,特别是因为有很多用于此的库。如果您使用自己的自定义文本表示,那么您还必须提供自己的自定义解析器。您不应该使用toString()来序列化对象。与此相反,只需使用Jackson将对象序列化为JSON并从JSON返回到POJO即可。您应该为它实现可序列化的对象。它实际上不是Json,它不是Json,但它可以/应该是。否则,您必须自己为它编写解析器。
[Test{name='name1', value='value1', testing='testing1'}, Test{name='name2', value='value2', testing='testing2'}, Test{name='name3', value='value3', testing='testing3'}]