Java 新的Gson().toJson(对象)为singleton类返回null

Java 新的Gson().toJson(对象)为singleton类返回null,java,singleton,gson,Java,Singleton,Gson,我的要求:我想将单例对象转换为字符串,再将字符串转换为对象 因此,我使用Gson使用toJson()方法将对象转换为字符串,使用fromJson()将字符串转换为对象 我有两门课: Person类,即singleton类 public class Person { public String Name= "rich"; public String Address="U.K"; public static Person person = null; pr

我的要求:我想将单例对象转换为字符串,再将字符串转换为对象

因此,我使用Gson使用toJson()方法将对象转换为字符串,使用fromJson()将字符串转换为对象

我有两门课:
Person类,即singleton类

public class Person {

     public String Name= "rich";
     public String Address="U.K";
     public static Person person = null;

     private Person()
     {

     }
     public static Person getInstance()
     {
         if(person == null)
             return new Person();
         else 
             return person;
     }
}
第二个:GsonConvertor类

public class GsonConvertor {

    public static void main (String[] args) throws java.lang.Exception
    {
        Person person = Person.getInstance();
        Gson gson = new Gson();
        String jsonPerson = gson.toJson(person);

        System.out.println("String of Person Object: " + jsonPerson);

        Person per = gson.fromJson(jsonPerson, Person.class);
        System.out.println("Object from String" + per.toString());
    }

}
gson.toJson(person)返回空值


有人能给我一个建议,我错在哪里了。我想要
Gson.fromJson()
中的对象,它是我在调用Person类的
getInstance()
方法时创建的。

如果使用rest,使用单例没有多大意义。它只需要一个连接就可以工作。我在Storm中使用了这个概念。所以,当我创建拓扑时,我创建了一个对象,并且该对象传递到所有螺栓和喷嘴。这就是我将该对象转换为字符串并传递给Config类的原因。在Spoot类中,我们将该字符串转换为Object并传递给all bolt类。但是,如果下次您想将其从json转换为Object时它是一个单例,那么您将创建哪个实例?仅限Person类。Person per=gson.fromJson(Person类的字符串Person.class);顺便说一句,它不是一个单例,person-into-person.java字段从未被赋值,并且总是空值。因此,每次调用getInstance()时,都会创建一个新实例