首页 > 解决方案 > 实现 Parcelable 接口时如何读/写 java.math.BigInteger?

问题描述

在Android中实现Parcelable接口时如何正确读/写java.math.BigInteger?

标签: javaandroid

解决方案


我建议将 BigInteger 写为字符串。

public class MyParcelable implements Parcelable {

public static final Creator<MyParcelable> CREATOR = new Creator<MyParcelable>() {
    @Override
    public MyParcelable createFromParcel(Parcel in) {
        return new MyParcelable(in);
    }

    @Override
    public MyParcelable[] newArray(int size) {
        return new MyParcelable[size];
    }
};

private BigInteger mData;

protected MyParcelable(Parcel in) {
    mData = new BigInteger(in.readString());
}

@Override
public int describeContents() {
    return 0;
}

@Override
public void writeToParcel(Parcel parcel, int i) {
    parcel.writeString(mData.toString());
}
}

推荐阅读