私はAndroidを初めて使用し、Activity
状態を バンドル に保存するチュートリアルを行っているときに、より一般的なものを受け入れる代わりに、 List
インターフェース、Bundle
のputメソッドはArrayLists
を期待しています。
例:
Bundle.putCharSequenceArrayList(key, value)
Bundle.putIntegerArrayList(key, value)
Bundle.putParcelableArrayList(key, value)
Bundle.putStringArrayList(key, value)
ほとんどの人は Effective Javaのitem 52 に精通しており、オブジェクトはインターフェースから参照する必要があることを示唆しているため、このAPIの決定の背後にある理由は何なのかと思います。
ArrayList
はおそらくAndroidでの推奨リスト実装ですか?
ただの推測です。おそらくBundeleのコンテンツはシリアライズ可能でなければならず、すべてのリストの実装がシリアライズ可能であるとは限りません。
From sdk-doc public Bundle.Bundle(ClassLoader) から
ParcelableおよびSerializableオブジェクトをインスタンス化するために特定の ClassLoaderを使用する新しい空のバンドルを構築します。