最近、シリアライゼーションとデシリアライゼーションのために Kryo をテストしており、概ね満足していますが、オブジェクト配列を含むクラスの (デ) シリアライゼーションを処理する方法が明確ではありません。クラスには final フィールドが含まれているため、デフォルトの FieldSerializer を使用できないようです (「クラスを作成できません (引数なしのコンストラクターがありません)」というエラーが表示されますが、引数なしのコンストラクターは final プリミティブには不適切です) )。だから、与えられたクラス
@AllArgsConstructor
public class DataObject{
private final double field1;
private final double field2;
private SubObject[] children;
}
@AllArgsConstructor
public class SubObject{
private final double field1;
private final double field2;
}
これを処理するシリアライザー/デシリアライザーを効率的に作成するにはどうすればよいでしょうか? 私の仮定では、com.esotericsoftware.kryo.io.Input に何かが欠けているため、カスタム シリアライザーでこれを行うことができますが、それは間違ったトラックである可能性があります..