¿Por qué la API del paquete de Android acepta ArrayLists en lugar de listas

7

Soy nuevo en Android y mientras realizo un tutorial sobre cómo guardar Activity state en un paquete , noté que en lugar de aceptar la interfaz más genérica List , los métodos put de Bundle esperan ArrayLists .

Ejemplo:

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

La mayoría de nosotros estamos familiarizados con artículo 52 de Java efectiva sugiriendo que los objetos deben ser referidos por su interfaz, así que me pregunto cuál fue la razón detrás de esta decisión de la API.

¿Es ArrayList quizás la implementación de lista preferida en Android?

    
pregunta jramoyo 24.07.2013 - 05:56

1 respuesta

8

Solo una suposición: tal vez el contenido de Bundele debe ser serializable y no todas las implementaciones de Listas son serializables.

De sdk-doc público Bundle.Bundle (ClassLoader)

  Constructs a new, empty Bundle that uses a specific 
  ClassLoader for instantiating Parcelable and Serializable objects.
    
respondido por el k3b 24.07.2013 - 06:10

Lea otras preguntas en las etiquetas