Perché l'API Bundle di Android accetta ArrayList anziché Lists

7

Sono nuovo di Android e durante il tutorial sul salvataggio dello stato di Activity in un pacchetto , ho notato che invece di accettare l'interfaccia più generica List , i metodi put di Bundle si aspettano ArrayLists .

Esempio:

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

Molti di noi hanno familiarità con elemento 52 di Java efficace suggerendo che gli oggetti devono fare riferimento alla loro interfaccia, quindi mi chiedo quale sia stata la ragione alla base di questa decisione dell'API.

È possibile che ArrayList sia l'implementazione dell'elenco preferito in Android?

    
posta jramoyo 24.07.2013 - 05:56
fonte

1 risposta

8

Solo un'ipotesi: Forse il contenuto di Bundele deve essere serializzabile e non tutte le implementazioni di Lists sono serializzabili.

Da sdk-doc public Bundle.Bundle (ClassLoader)

  Constructs a new, empty Bundle that uses a specific 
  ClassLoader for instantiating Parcelable and Serializable objects.
    
risposta data 24.07.2013 - 06:10
fonte

Leggi altre domande sui tag