Por que a API de pacotes do Android aceita ArrayLists em vez de Listas

8

Eu sou novo no Android e, ao passar por um tutorial sobre como salvar um Activityestado em um pacote , notei que, em vez de aceitar a Listinterface mais genérica , Bundleos métodos put estão esperando ArrayLists.

Exemplo:

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

A maioria de nós está familiarizada com o item 52 do Java efetivo, sugerindo que os objetos devem ser referidos por sua interface. Por isso, estou me perguntando qual foi o motivo por trás dessa decisão da API.

É ArrayList, talvez, a implementação da lista preferencial no Android?

jramoyo
fonte

Respostas:

9

Apenas um palpite: talvez o conteúdo do Bundele deva ser serializável e nem toda implementação de Listas seja serializável.

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

  Constrói um novo pacote vazio que usa um determinado 
  ClassLoader para instanciar objetos Parcelable e Serializable.
k3b
fonte
faz sentido! vou esperar um pouco mais, caso alguém tenha uma resposta definitiva.
21713 jramoyo
quanto mais passo no tutorial, mais essa resposta faz sentido. por isso estou aceitando-:-)
jramoyo