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?

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.

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.