Android Bundle存储数据类型

曾经被问到这样一个问题:Bundle能存哪些数据类型,不能存哪些数据类型?

当时那个汗啊,因为,平常使用Bundle,要么使用基本数据类型,要么序列化自定义的Class,那到底能存哪些类型,不能存哪些呢?

今天查阅了下google官方的文档(http://developer.android.com/reference/android/os/Bundle.html),罗列了以下这些是可以的:

void  putAll(Bundle map) 
void  putBinder(String key, IBinder value) 
void  putBoolean(String key, boolean value) 
void  putBooleanArray(String key, boolean[] value) 
void  putBundle(String key, Bundle value) 
void  putByte(String key, byte value) 
void  putByteArray(String key, byte[] value) 
void  putChar(String key, char value) 
void  putCharArray(String key, char[] value) 
void  putCharSequence(String key, CharSequence value) 
void  putCharSequenceArray(String key, CharSequence[] value) 
void  putCharSequenceArrayList(String key, ArrayList<CharSequence> value) 
void  putDouble(String key, double value) 
void  putDoubleArray(String key, double[] value) 
void  putFloat(String key, float value) 
void  putFloatArray(String key, float[] value) 
void  putInt(String key, int value) 
void  putIntArray(String key, int[] value) 
void  putIntegerArrayList(String key, ArrayList<Integer> value) 
void  putLong(String key, long value) 
void  putLongArray(String key, long[] value) 
void  putParcelable(String key, Parcelable value) 
void  putParcelableArray(String key, Parcelable[] value) 
void  putParcelableArrayList(String key, ArrayList<? extends Parcelable> value) 
void  putSerializable(String key, Serializable value) 
void  putShort(String key, short value) 
void  putShortArray(String key, short[] value) 
void  putSparseParcelableArray(String key, SparseArray<? extends Parcelable> value) 
void  putString(String key, String value) 
void  putStringArray(String key, String[] value) 
void  putStringArrayList(String key, ArrayList<String> value) 

一目了然:MAP,基本数据类型,基本数据类型数组,Parcelable类型及Parcelable类型数组,Serializable类型(无Serializable类型数组!),ArrayList

从以上发现,数据存储在连续的内存地址上的可以使用,其它存储方式不行(如链表存储就不行)。

 

如果有说错的地方,希望大家纠正,谢谢!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值