I'm new to Android and while going through a tutorial on saving Activity
state to a Bundle, I noticed that instead of accepting the more generic List
interface, Bundle
's put methods are expecting ArrayLists
.
Example:
Bundle.putCharSequenceArrayList(key, value)
Bundle.putIntegerArrayList(key, value)
Bundle.putParcelableArrayList(key, value)
Bundle.putStringArrayList(key, value)
Most of us are familiar with item 52 of Effective Java suggesting that objects must be refered to by their interface, so I am wondering what was the reason behind this API decision.
Is ArrayList
perhaps the preferred list implementation in Android?
1 Answer 1
Just a guess: Maybe Bundele-content must be be serializable and not every Lists implementation is serializable.
From sdk-doc public Bundle.Bundle (ClassLoader)
Constructs a new, empty Bundle that uses a specific ClassLoader for instantiating Parcelable and Serializable objects.
-
makes sense! i'll wait a while more in case someone has a definitive answer.jramoyo– jramoyo07/24/2013 05:33:29Commented Jul 24, 2013 at 5:33
-
the more I go through the tutorial, the more this answer makes sense. so I am accepting it :-)jramoyo– jramoyo07/24/2013 10:00:06Commented Jul 24, 2013 at 10:00
Explore related questions
See similar questions with these tags.