采用Parcelable实现对象的深度拷贝

public class ParcelHelper {

    public static  T copy(Parcelable input) {
        Parcel parcel = null;

        try {
            parcel = Parcel.obtain();
            parcel.writeParcelable(input, 0);

            parcel.setDataPosition(0);
            return parcel.readParcelable(input.getClass().getClassLoader());
        } finally {
            parcel.recycle();
        }
    }
}

注意别掉了parcel.setDataPosition(0);

你可能感兴趣的:(Android)