gpt4 book ai didi

android - 转换为 ArrayList

转载 作者:行者123 更新时间:2023-12-05 00:21:26 24 4
gpt4 key购买 nike

我找不到答案:

我想在 onSaveInstanceState 中保存一个 Parcelable ArrayList,但是当我这样做时它不接受声明为 List 的 ArrayList:

outState.putParcelableArrayList(KEY_QUESTION_LIST, questionList);

所以我有 2 个选项:要么将 List 声明为 ArrayList,要么将其转换为 Parcelable ArrayList,如下所示:
outState.putParcelableArrayList(KEY_QUESTION_LIST, (ArrayList<? extends Parcelable>) questionList);

并将其声明为列表:
private List<Question> questionList;

在线我只看到第一种方法,所以我想知道第二种方法是否有任何缺点?

最佳答案

假设您的列表声明如下:

List<MyObject> list = new ArrayList<>();

以后想写没问题 (ArrayList) list .但是,我认为总体而言,这比简单地将您的列表声明为 ArrayList 开始时更糟糕:
ArrayList<MyObject> list = new ArrayList<>();

作为 Java 程序员,我们被教导为变量使用接口(interface)类型,因为它允许我们使用任何实现类型,而不仅仅是特定的实现类型。但是在将列表放入 Bundle 的情况下,你需要一个特定的实现类型。因此,请继续使用它。

关于android - 转换为 ArrayList<?在 onSaveInstanceState 中保存 List 时扩展 Parcelable>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48979726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com