我有一个类 Data.java
public class Data{
private String name;
private String age;
// getters and setters for the above fields
}
在我执行的一个方法中
String newData = getData().toString();
但现在我希望数据对象恢复其状态而不是字符串对象。所以如何在java中执行此操作。
答案 0 :(得分:2)
如果 getData()在返回对象之前返回该对象。
答案 1 :(得分:1)
不,你不能。
toString()
仅适用于logging
和debug
目的。它不适用于serializing
state of an Object
。
如果相关对象支持serialization
,请与serialization
和deserialization
一起了解如何执行此操作。
答案 2 :(得分:1)
你不能这样做。
有效的是
String newData = getData().toString();
您无法从Object
toString()
您可以使用Serialization。但那不是你要问的问题。
你也可以像以下一样聪明。使用JSon
。
@Override
public String toString() {
return new Gson().toJson(this);
}
现在你可以回来了
String str=myClass.toString();
MyClass myClass=new Gson().fromJson(str,MyClass.class);
答案 3 :(得分:0)
您无法获得相同的对象。但是你可以做的是,你可以通过删除返回的String的每个参数来创建一个与原始对象具有相同值的新对象。为此,您必须确保在返回的字符串中获取对象的所有参数。
总的来说,这是一个非常糟糕的主意。