在执行 .toString() 后如何取回对象?

ana*_*and 1 java

我有一个类Data.java

public class Data{
   private String name;
   private String age;
   // getters and setters for the above fields
 }
Run Code Online (Sandbox Code Playgroud)

在我执行的一种方法中

  String newData = getData().toString();
Run Code Online (Sandbox Code Playgroud)

但现在我希望数据对象恢复其状态而不是字符串对象。那么如何在java中执行此操作。

Ruc*_*era 6

你不能那样做。

有效的是

String newData = getData().toString();
Run Code Online (Sandbox Code Playgroud)

你无法ObjecttoString()

您可以使用序列化。但这不是您要问的问题。

您也可以像下面这样聪明。使用JSon

@Override
public String toString() {
   return new Gson().toJson(this);
}
Run Code Online (Sandbox Code Playgroud)

现在你可以取回对象了

String str=myClass.toString();
MyClass myClass=new Gson().fromJson(str,MyClass.class);
Run Code Online (Sandbox Code Playgroud)