Я пытаюсь использовать kryo для serialed пользовательского класса, который сам содержит некоторые пользовательские объекты, а точнее HashMap пользовательских объектов. Мне было интересно, как правильно обращаться с чем-то подобным. Ниже приведен класс, который я пытаюсь сериализовать (Data), классы, которые являются вложенными, и моя текущая реализация kryo. Это правильный подход?Kryo Сериализация с вложенным HashMap с пользовательским классом
public class Data {
int id,
int name,
ItemList items;
}
public Class ItemList {
HashMap<String, Item> items;
}
public Class Item {
String itemId;
String itemName;
String itemDesc;
}
kryo.register(Data.class, new Serializer<Data>() {
public void write (Kryo kryo, Output output, Data object) {
output.writeInt(object.id);
output.writeInt(object.name);
kryo.writeClassAndObject(output, items);
}
public Tile read (Kryo kryo, Input input, Class<Data> type) {
Data data = new Data();
kryo.reference(data);
data.id = input.readInt();
data.name = input.readString();
data.items = kryo.readClassAndObject(input);
return data;
}
});