【强制】 POJO类中的布尔类型的变量,都不不要加is,否则部分框架解析会引起序列化错误。
反例:
定义为基本数据类型boolean isSuccess;的属性,他的方法也是isSuccess();RPC框架在反向解析的时候,会误认为对应的属性名称是“success”,而不是所定义的isSuccess,导致属性获取不到,进而抛出异常。
那么,为什么会有这样的规定呢?我们看一下POJO中布尔类型变量不同的命名有什么区别吧。

示例:

class Model1  {private Boolean isSuccess;public void setSuccess(Boolean success) {isSuccess = success;}public Boolean getSuccess() {return isSuccess;}}class Model2 {private Boolean success;public Boolean getSuccess() {return success;}public void setSuccess(Boolean success) {this.success = success;}
}class Model3 {private boolean isSuccess;public boolean isSuccess() {return isSuccess;}public void setSuccess(boolean success) {isSuccess = success;}
}class Model4 {private boolean success;public boolean isSuccess() {return success;}public void setSuccess(boolean success) {this.success = success;}
}

以上代码的setter/getter是使用Intellij IDEA自动生成的,仔细观察以上代码,你会发现以下规律:

基本类型自动生成的getter和setter方法,名称都是isXXX()和setXXX()形式的。
包装类型自动生成的getter和setter方法,名称都是getXXX()和setXXX()形式的。
既然,我们已经达成一致共识使用基本类型boolean来定义成员变量了,那么我们再来具体看下Model3和Model4中的setter/getter有何区别。

我们可以发现,虽然Model3和Model4中的成员变量的名称不同,一个是success,另外一个是isSuccess,但是他们自动生成的getter和setter方法名称都是isSuccess和setSuccess。

pojo类中的布尔类型的变量为什么不能加is相关推荐

  1. Java中定义布尔类型字段,为什么不建议使用 isXxx 形式

    在日常开发中,我们会经常要在类中定义布尔类型的变量,比如在给外部系统提供一个RPC接口的时候,我们一般会定义一个字段表示本次请求是否成功的. 关于这个"本次请求是否成功"的字段的定 ...

  2. POJO类中布尔类型属性的定义与命名

    阿里Java开发手册中强制规定: 而不类型的变量名不要使用isXxx的格式.因为布尔类型属性的getter方法与其他类型的不一样,是isSuccess(),如果在变量名之前加上is的话,属性名与方法名 ...

  3. POJO 类中布尔类型为啥不让用 isXxx 命名

    一.代码问题重现 想要使用json串在服务间传递信息时,我们会先定义一个POJO类,该类中包含是否删除属性isDeleted,代码如下 /** * @author wenxuan wang */ @D ...

  4. 第8.12节 Python类中使用__dict__定义实例变量和方法

    上节介绍了使用实例的__dict__查看实例的自定义属性,其实还可以直接使用__dict__定义实例变量和实例方法. 一. 使用__dict__定义实例变量 语法: 对象名. dict[属性名] = ...

  5. python类中包含一个特殊的变量、它表示当前对象自身_知到APP教师职场礼仪第七单元章节测试网课答案大学课后答案...

    [判断题]水参与了植物体内众多的生物化学反应. [单选题]所有参加保险的人为自己办理保险而合作成立法人组织的相互保险组织是( ). A. 相互保险公司 B. 相互保险社 C. 保险合作社 D. 保险合 ...

  6. python类中包含一个特殊的变量、它可以访问类的成员_区域联防的运用中遵循并贯彻以球为主的防守原则,做到球人区三者兼顾。( )...

    刘墉书法的特点是用墨厚重,体丰骨劲,浑厚敦实,别具面目.A:对B:错 Python类中包含一个特殊的变量(),它表示当前对象自身,可以访问类的成员.A:meB:selfC:thisD:与类同名 在过火 ...

  7. python类中包含一个特殊的变量、它可以访问类的成员_Python类中包含一个特殊的变量( ),它表示当前对象自身,可以访问类的成员....

    包含票务系统的业务管理主要内容包括()A:运营监督B:规则管理C:信息管理D:财务管理E:模式管理 特殊表嘌呤核苷酸补救合成途径的主要器官是().A:脑组织B:小肠C:胸腺D:肝脏E:肾脏 示当身嘌呤 ...

  8. C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化

    C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化 文章目录 C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化 ...

  9. Python中的布尔类型以及布尔值介绍

    什么是布尔类型? 布尔类型是一种逻辑类型,它只有两个取值:True(真)和False(假).在Python中,True和False是内置的布尔类型常量,用于表示真和假的状态. 布尔运算符 在Pytho ...

最新文章

  1. python 视频播放 拖动_视频画中画效果,拖动进度条可以seek到相应视频帧显示
  2. boost--线程同步
  3. oracle 启动监听提示 :The listener supports no services
  4. mac 用户 文件夹 权限_Mac视频播放软件推荐
  5. java运行多个linux命令_在shell的一行中运行多个命令
  6. Golang 在十二赞的深度应用
  7. 【Flink】kafka INVALID_PRODUCER_EPO send data to Kafka old epoch newer producer same transactionalId
  8. Python 语言程序设计(4-3) Random 随机库
  9. DAY18 面向对象三大特性之继承
  10. 50.Linux/Unix 系统编程手册(下) -- 虚拟内存操作
  11. 电子邮件链接mailto_“ 3个链接”电子邮件的历史记录以及曾经发送的每个链接的存档...
  12. paraview的安装和使用
  13. php把文字转换unicode,unicode编码转换:PHP将汉字转换成Unico_php
  14. linux mount iso文件系统,在Linux中挂载ISO文件的两种方法(mount命令与mount软件)
  15. 拼音转汉字算法(隐马尔科夫、维特比算法)
  16. 出现这十种症状,说明你不适合做程序员
  17. 【IOS开发高级系列】异步绘制专题
  18. php爬取html内容,php抓取网页html,curl和file_get_contents通过get或post方式抓取网页内容,源代码
  19. ChatGPT是什么?可以用来做什么?
  20. 那些坚持买彩票想中500万的人,都是一些什么心态?分析一下

热门文章

  1. 前端存储 (2) - sessionStorage ,localStorage
  2. Spring Cloud连载(2)搭建开发环境
  3. expect脚本中,变量的写法
  4. 网络流24题 最小路径覆盖问题
  5. 由来源地址决定显示什么页面
  6. ubuntu安装最新的rails-4.2.0
  7. 20年薪水的经典忠告
  8. 股票涨跌停的买卖问题
  9. 蓝桥杯 ALGO-50 算法训练 数组查找及替换
  10. PAT 乙级 1041. 考试座位号(15) Java版