Tại sao API Bundle của Android chấp nhận ArrayLists thay vì Danh sách


8

Tôi mới sử dụng Android và trong khi thực hiện hướng dẫn lưu Activitytrạng thái vào Gói , tôi nhận thấy rằng thay vì chấp nhận Listgiao diện chung chung hơn , Bundlecác phương thức đặt được mong đợi ArrayLists.

Thí dụ:

Bundle.putCharSequenceArrayList(key, value)
Bundle.putIntegerArrayList(key, value)
Bundle.putParcelableArrayList(key, value)
Bundle.putStringArrayList(key, value)

Hầu hết chúng ta đều quen thuộc với mục 52 của Java hiệu quả đề xuất rằng các đối tượng phải được giới thiệu bởi giao diện của chúng, vì vậy tôi tự hỏi lý do đằng sau quyết định API này là gì.

ArrayListlẽ là thực hiện danh sách ưa thích trong Android?

Câu trả lời:


9

Chỉ cần đoán: Có thể nội dung Bundele phải được tuần tự hóa và không phải mọi triển khai Danh sách đều được tuần tự hóa.

Từ gói công khai sdk-doc.Bundle (ClassLoader)

  Xây dựng một Gói mới, trống sử dụng một cụ thể 
  ClassLoader để khởi tạo các đối tượng Parcelable và serializable.

có ý nghĩa! Tôi sẽ đợi thêm một lúc nữa trong trường hợp ai đó có câu trả lời dứt khoát.
jramoyo

Tôi càng đi qua hướng dẫn, câu trả lời này càng có ý nghĩa. vì vậy tôi chấp nhận nó :-)
jramoyo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.