android变量要不要附空值,android-如何在使用Parcelable时序列化空值
我見過的大多數序列化代碼都使用兩個標志來指示值的存在/不存在,或者在值前加上一個計數字段(例如,在編寫數組時),如果該值不等于,則計數字段僅設置為零。 根本不存在。
檢查Android核心類的源代碼會發現以下代碼(來自Message類):
if (obj != null) {
try {
Parcelable p = (Parcelable)obj;
dest.writeInt(1);
dest.writeParcelable(p, flags);
} catch (ClassCastException e) {
throw new RuntimeException(
"Can't marshal non-Parcelable objects across processes.");
}
} else {
dest.writeInt(0);
}
或這個(來自Intent類):
if (mCategories != null) {
out.writeInt(mCategories.size());
for (String category : mCategories) {
out.writeString(category);
}
} else {
out.writeInt(0);
}
我的建議:在您的代碼中,如果“ zoom == null”和“ zoom == 0”之間沒有功能上的區別,那么我只需要將zoom聲明為原始變量(int而不是Integer),或者將其初始化為零 構造函數,并確保您永遠不要將其設置為null(這樣就可以保證它永遠不會為null,并且您不必在序列化/反序列化方法中添加特殊代碼來處理它)。
總結
以上是生活随笔為你收集整理的android变量要不要附空值,android-如何在使用Parcelable时序列化空值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的世界电脑版封面(我的世界封面图标)
- 下一篇: 计算机网络的含义是什么意思,互联网的基本