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,并且您不必在序列化/反序列化方法中添加特殊代码来处理它)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346201.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gprs连接中断记录_请收好!脉搏波血压计连接天天血压APP使用指南

总有那么几个粗心的小伙伴丢失了说明书,在后台追问波哥如何连接“天天血压”,于是给大家安排了这篇使用指南。首先我们来了解下“天天血压”的功能:1.通过蓝牙或GPRS传输,同步记录每次测量结果;2. 血压趋势分析&#x…

使用Spring Boot,JHipster和React构建照片库PWA

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 从本质上讲,React只是一个UI工具包,即ala GWT,但是…

html5画布funcition,2020前端基础知识学习第一节(示例代码)

一、选择题1. 浏览器端的存储技术有哪些()A.cookie  B.localStorage  C.session  D.userData答案:A B D分析:cookie通常用于存储用户等登录信息,能够存储的数据是有限的,而且在指定域名下所有的请求都会带上。localStoage是…

names文件和data文件_data.table让你的读取速度提升百倍

不知道大家有没有用read.table和read.csv读取过文件,当文件不大的时候你可能还感觉不出读取速度,但是当文件比较大的时候,比如有上万行的时候,你就会感觉到等待时间明显变长,甚至无法忍受。今天小编给大家安利一个实用…

差分放大电路差模共模公式_提高差分放大器的共模抑制比,电阻的选择很关键...

在各种应用领域,采用模拟技术时都需要使用差分放大器电路。例如测量技术,根据其应用的不同,可能需要极高的测量精度。为了达到这一精度,尽可能减少典型误差源(例如失调和增益误差,以及噪声、容差和漂移)至关重要。为此…

计算机网络的含义是什么意思,互联网的基本含义是什么

互联网大家都知道,但是互联网的基本含义都了解吗?学习啦小编为大家整理了相关内容,供大家参考阅读!互联网的基本含义互联网是由一些使用公用语言互相通信的计算机连接而成的网络,即广域网、局域网及单机按照一定的通讯协议组成的国际计算机网…

在单个try-with-resources语句中仔细指定多个资源

Java 7更有用的新功能之一是引入了try-with-resources语句 [AKA 自动资源管理 ( ARM )]。 try-with-resources语句的吸引力在于其承诺 “确保在语句末尾关闭每个资源”。 在这种情况下,“资源”是实现AutoCloseable及其close(&…

两轮差速机器人舵机转轴示意图_机器人教程2:舵机及转向控制原理

图3舵机外形图2、舵机的组成一般来讲,舵机主要由以下几个部分组成,舵盘、减速齿轮组、位置反馈电位计、直流电机、控制电路等,如图4、图5所示。图4舵机的组成示意图图5舵机组成舵机的输入线共有三条,如图6所示,红色中间…

label标签 html5,HTML5 label 标签

实例HTML5 标签用于为 input 元素做出标记。带有两个输入字段和相关标记的简单 HTML 表单:MaleFemale尝试一下 浏览器支持目前大多数浏览器支持 标签。标签定义及使用说明标签为 input 元素定义标注(标记)。label 元素不会向用户呈现任何特殊效果。不过,…

me shy是什么歌 抖音make_抖音星河滚烫你是人间的理想下一句是什么歌 星河歌词完整版...

最近在抖音上听到一段话,这段话的开头是“星河滚烫,你是人间的理想……”。抖音星河滚烫你是人间的理想下一句是什么歌?星河歌词介绍?星河,是非常好听的一首歌曲,是很多人都喜欢的一首歌曲。抖音星河滚烫你…

修改使用计算机的名称,Windows 10中修改计算机名称的方法,你知道几种?

当用户新入手一台电脑时,通常做的第一件事就是做一些个性化设置。一般来说个性化的第一步就是给计算机起一个自己满意的名字,下面介绍几种修改计算机名字的方法。通过设置更改计算机名字按WinI键进入设置,在设置窗口中找到“系统”,点击它。在…

apollo 参数传递_使用Apollo通过WebSocket通过STOMP轻松进行消息传递

apollo 参数传递在我以前的文章中,我介绍了几个有趣的用例,这些用例使用著名的消息代理HornetQ和ActiveMQ通过Websockects实现STOMP消息传递。 但是我没有介绍的是Apollo,因为我个人认为它的API是冗长的,并且不像Java开发人员那样…

mysql不能改编码_(转)MySQL设置和修改编码问题

mysql版本:5.7.18一、常用查看字符集设定命令1、查看数据库支持的所有字符集。show character set;(或 show char set;)2、查看当前状态命令(显示结果会包含数据库的字符集设置)status(或 /s)其中Db characterset对应的是数据库目录下的db.opt文件内容。(查到mysql安…

python 编程语言排行榜_2019年6月编程语言排行榜:Python 排名飙升,三年内有望超越Java...

TIOBE 6 月编程语言排行榜 更新已发布,排名前三的依然是:Java, C, Python。本月Python的TIOBE指数再次创下8.5%的历史新高。如果Python能够保持这样的速度,那它完全有可能在3到4年内取代C和Java,从而成为世界上***的编程语言。Pyt…

使用IntelliJ调试Java流

流功能非常强大,只需几行就可以捕获您预期功能的要点。 但是,就像它们在一切正常工作时一样平滑,就像它们在表现不正常时一样令人痛苦。 了解如何使用IntelliJ调试Java Streams并深入了解Stream的中间操作。 在本文中,我将在示例…

四川对口高职本科学校计算机,2018四川对口高职本科学校有哪些

相信很多想要报考四川单招对口高职的同学,都是非常的关心四川对口高职本科学校有哪些的,小编整理了相关信息,希望会对大家有所帮助!四川文化艺术学院(Sichuan University of Culture and Arts),简称“川文艺”,是经教育…

echart 饼图每一块间隙_花10分钟做酱香饼,简单方便又美味,酥脆咸香比买的还要好吃...

花10分钟做酱香饼,简单方便又美味,酥脆咸香比买的还要好吃前几年,在单位附近有一家只做酱香饼的小店,刚开张的时候排很长队,我为了一块酱香饼排队半小时。后来买酱香饼的人少了,我三天两头买一块酱香饼解馋…

html 边框轮廓,CSS半圈(边框,仅轮廓)

小编典典您可以使用border-top-left-radius和border-top-right- radius属性根据框的高度(和添加的边框)在框上四角。然后在框的顶部/右侧/左侧添加边框以达到效果。干得好:.half-circle {width: 200px;height: 100px; /* as the half of the width */background-col…

人类一败涂地做图教程_《人类一败涂地》形象绘画技巧图文指南

第2页:展开第四步进行对人物细节描边处理,使粗细不同的变得一致,还是拉近镜头,利用底色扣细致。最重要的一点来了!不管你画成什么样子,如果你在护理细节的过程中镜头过于拉进并且没有某一部位时模型会变成黑…

Spring Data Pivotal Gemfire教程

1. Spring Data Pivotal Gemfire –简介 在这篇文章中,我们将介绍有关Spring Data Pivotal Gemfire的全面教程。 Pivotal Gemfire是由Apache Geode支持的内存中数据网格解决方案。 使用Pivotal Gemfire构建的应用程序使您可以在分布式服务器节点之间轻松扩展系统。 …