代码之家  ›  专栏  ›  技术社区  ›  Bertram Gilfoyle

包裹中“createTypedArrayList()”和“readTypedList()”之间的区别

  •  2
  • Bertram Gilfoyle  · 技术社区  · 8 年前

    createTypedArrayList (Creator<T> c) 读取可分块数组列表。

    我最近发现了另一种方法 readTypedList (List<T> list, Creator<T> c) * ?

    *:前者创建新的数组列表,后者附加到现有数组列表

    1 回复  |  直到 7 年前
        1
  •  4
  •   Ben P.    7 年前

    两者 readTypedList() createTypedArrayList() 写为“读取”操作 writeTypedList() 的“写入”操作。由于它们都必须使用完全相同的数据,因此它们之间的差异相对较小。

    一个明显的区别是 readTypedList() 会“填满”任何 List 你想要的实现(例如。 LinkedList 创建类型darraylist() 只会返回一个 ArrayList

    另一个是 允许 避免分配多个 列表 列表 每次调用的实例 之后再处理它的内容。 readTypedList() 阵列列表

    不过,最大的区别可能是当你读到 null dest.writeTypedList(null) ,然后 可以返回 无效的 值。。。但是 readTypedList() 无效的 或者只是空的,因为这个我总是用 .

    Creator.createFromParcel() 要实际检索底层数据,并且两者都可以处理 列表中的元素。同样,这两种方法都是要与 writeTypedList()

    推荐文章
    Amir_P  ·  转换后的数字错误
    11 年前