创建通用List Wrapper以在活动之间传递数据

时间:2016-12-21 10:58:43

标签: java android generics arraylist

我正在构建一个应用程序,我必须在活动之间传递数据。自定义ArrayList的数据为Object。因此,每个模型都必须实现Serializable,然后我必须创建一个Wrapper来传递数据。

我有这样的事情:

public class DummyJSONModelWrapper implements Serializable{

    private List<DummyJSONModel> dummyJSONModel;

    public DummyJSONModelWrapper(List<DummyJSONModel> dummyJSONModel) {
        this.dummyJSONModel = dummyJSONModel;
    }

    public List<DummyJSONModel> getDummyJSONModel() {
        return dummyJSONModel;
    }
}

我的问题是如何使我传递给构造函数的List是通用的,以及getter返回泛型列表?

所以我希望有类似的东西:

public class DummyJSONModelWrapper implements Serializable{

    private List<T> dummyJSONModel;

    public DummyJSONModelWrapper(List<T> dummyJSONModel) {
        this.dummyJSONModel = dummyJSONModel;
    }

    public List<T> getDummyJSONModel() {
        return dummyJSONModel;
    }
}

但它不会像这样工作。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您应该在类级别声明Generic,如下所示:

public class DummyJSONModelWrapper<T extends DummyJSONModel> implements Serializable{

    private List<T> dummyJSONModel;

    public DummyJSONModelWrapper(List<T> dummyJSONModel) {
        this.dummyJSONModel = dummyJSONModel;
    }

    public List<T> getDummyJSONModel() {
        return dummyJSONModel;
    }
}

请参阅Oracle here

中的文档