Как уже упоминалось, функция Instance Creator предназначена для десериализации, а не сериализации.Кроме того, использование Instance Creator для десериализации Runnable
необязательно.
Ниже приведен пример использования Gson для сериализации и десериализации экземпляра Runnable
.
import com.google.gson.Gson;
public class GsonFoo
{
public static void main(String[] args)
{
BarRun runRunRun = new BarRun();
runRunRun.name = "Whiskey";
runRunRun.state = 42;
String json = new Gson().toJson(runRunRun);
System.out.println(json);
// output: {"name":"Whiskey","state":42}
BarRun runCopy = new Gson().fromJson(json, BarRun.class);
System.out.println(runCopy.name); // Whiskey
System.out.println(runCopy.state); // 42
}
}
class BarRun implements Runnable
{
String name;
int state;
@Override
public void run()
{
// do something useful
}
}
ЕслиЧто-то о том, чего вы пытаетесь достичь, требует использования Instance Creator, затем обратите внимание, что примеры доступны в разделе руководства пользователя Gson по теме , а также в InstanceCreator JavaDocs .