Intent傳遞數據時,下列的數據類型哪些可以被傳遞(abcd)(多選)
A、 Serializable B、charsequence C、Parcelable D、Bundle
Serializable :
將 Java 對象序列化為二進制文件的 Java 序列化技術是 Java系列技術中一個較為重要的技術點,在大部分情況下,開發人員只需要了解被序列化的類需要實現 Serializable 接口,使用ObjectInputStream 和 ObjectOutputStream 進行對象的讀寫。
charsequence :
在JDK1.4中,引入了CharSequence接口,實現了這個接口的類有:CharBuffer、String、StringBuffer、StringBuilder這個四個類。
CharBuffer為nio里面用的一個類,String實現這個接口理所當然,StringBuffer也是一個 CharSequence,StringBuilder是Java抄襲C#的一個類,基本和StringBuffer類一樣,效率高,但是不保證線程安 全,在不需要多線程的環境下可以考慮。
提供這么一個接口,有些處理String或者StringBuffer的類就不用重載了。但是這個接口提供的方法有限,只有下面幾個:charat、length、subSequence、toString這幾個方法,感覺如果有必要,還是重載的比較好,避免用instaneof這個操作符。
Parcelable :
android提供了一種新的類型:Parcel。本類被用作封裝數據的容器,封裝后的數據可以通過Intent或IPC傳遞。 除了基本類型以外,只有實現了Parcelable接口的類才能被放入Parcel中。是GOOGLE在安卓中實現的另一種序列化,功能和Serializable相似,主要是序列化的方式不同
Bundle:
Bundle是將數據傳遞到另一個上下文中或保存或回復你自己狀態的數據存儲方式。它的數據不是持久化狀態。