десериализация дженериков с помощью gson

Я использую GSON 1.4 и сериализую объект с двумя универсальными arraylist следующим образом Строковые данные = Gson.toJson (объект, объект.класс) . Когда я желаю этого, я делаю gson.fromJson (json, type);

, к сожалению, я получаю

java.lang.IllegalArgumentException: не могу установить java.util.ArrayList поле ... в java.util.LinkedList

Почему это так? В документе GSON отмечается, что если я сериализую с параметром object.class, он поддерживает универсальные типы. Есть идеи? спасибо.

мой класс:

public class IndicesAndWeightsParams {

    public List<IndexParams> indicesParams;
    public List<WeightParams> weightsParams;

    public IndicesAndWeightsParams() {
        indicesParams = new ArrayList<IndexParams>();
        weightsParams = new ArrayList<WeightParams>();
    }
    public IndicesAndWeightsParams(ArrayList<IndexParams> indicesParams, ArrayList<WeightParams> weightsParams) {
        this.indicesParams = indicesParams;
        this.weightsParams = weightsParams;
    }
}    
public class IndexParams {

    public IndexParams() {
    }
    public IndexParams(String key, float value, String name) {
      this.key = key;
      this.value = value;
      this.name = name;
    }
    public String key;
    public float value;
    public String name;
}
14
задан ΦXocę 웃 Пepeúpa ツ 22 December 2015 в 00:37
поделиться