阿里强制 boolean 类型不能用 is 开头?

HUMAnN数据库国内备份下载源(转自刘永鑫博士github) 百度云链接 R语言常用包合集 Windows 10版4.0.x:链接:https://pan.baidu.com/s/1JFwLP2SonK1howD5MNgNYg 提取码:l08k Windows 10版3.6.x:链接:https://pan.baidu.com/s/1h-qR2lmlaMgR4M7VbgtAFg 提取码:s5fi 下载后解压至当前目录,可获得3.6/4.0目录,剪切并替换文档 - R - win-library - 3.6/4.0 目录即可 扩增子数据库 宏基因组数据库 HUM. 阅读详情

背景

平时工作中大家经常使用到 boolean 以及 Boolean 类型的数据,前者是基本数据类型,后者是包装类,为什么不推荐使用isXXX来命名呢?到底是用基本类型的数据好呢还是用包装类好呢?

例子

  1. 其他非 boolean 类型

private String isHot;
    public String getIsHot() {
        return isHot;
    }

2.boolean 类型

private boolean isHot;
    public boolean isHot() {
        return isHot;
    }
  1. 包装类型

private Boolean isHot;
    public Boolean getHot() {
        return isHot;
    }
  1. 不以 is 开头

private boolean hot;
    public boolean isHot() {
        return hot;
    }
  1. 包装类型

private Boolean hot;
    public Boolean getHot() {
        return hot;
    }

其实阿里巴巴发布的 java 开发手册中就写明了,强制规定,布尔类型的数据,无论是 boolean 还是 Boolean 都不准使用 isXXX 来命

409bf64c1ed51379a7ff77c80438d84f.png

  • 对于非 boolean 类型的参数,getter 和 setter 方法命名的规范是以 get 和 set 开头

  • 对于 boolean 类型的参数,setter 方法是以 set 开头,但是 getter 方法命名的规范是以 is 开头

  • 包装类自动生成的 getter 和 setter 方法的名称都是getXXX()和setXXX()

  1. 其实 javaBeans 规范中对这些均有相应的规定,基本数据类型的属性,其 getter 和 setter 方法是getXXX()和setXXX,但是对于基本数据中布尔类型的数据,又有一套规定,其 getter 和 setter 方法是isXXX()和setXXX。但是包装类型都是以 get 开头

  2. 这种方式在某些时候是可以正常运行的,但是在一些 rpc 框架里面,当反向解析读取到isSuccess()方法的时候,rpc 框架会 “以为” 其对应的属性值是 success,而实际上其对应的属性值是 isSuccess,导致属性值获取不到,从而抛出异常。

总结

1、boolean 类型的属性值不建议设置为 is 开头,否则会引起 rpc 框架的序列化异常。

2、如果强行将 IDE 自动生成的isSuccess()方法修改成getSuccess(),也能获取到 Success 属性值,若两者并存,则之后通过getSuccess()方法获取 Success 属性值。

工作中使用基本类型的数据好还是包装类好

咱们举个例子,一个计算盈利的系统,其盈利比例有正有负,若使用了基本类型 bouble 定义了数据,当 RPC 调用时,若出现了问题,本来应该返回错误的,但是由于使用了基本类型,返回了 0.0,系统会认为没有任何问题,今年收支平衡,而不会发现其实是出现了错误。

若使用了包装数据类型 Double,当 RPC 调用失败时,会返回 null,这样直接就能看到出现问题了,而不会因为默认值的问题影响判断。

其实阿里 java 开发手册中对于这个也有强制规定:

965e5cd622e2e8d2c9c3f0b68c18ff41.png

因此,这里建议大家 POJO 中使用包装数据类型,局部变量使用基本数据类型。

来源:http://blog.youkuaiyun.com/belongtocode/article/details/100635246

突破III-V/硅混合集成的挑战:UTC光电探测器能带工程仿真实践 本文探讨了UTC光电探测器在III-V/硅混合集成中的能带工程仿真实践,通过Ansys Lumerical平台实现多物理场仿真,解决晶格失配和能带不连续性等关键挑战。文章详细介绍了FDTD光学仿真和CHARGE电学仿真方法,优化器件性能,提升响应度和带宽,为高速光通信和量子计算提供技术支持。 阅读详情

相关推荐

Aloudata 荣登“数智技术系列榜单”和“数据智能服务商 TOP30”

持续助力各行业数智化先进企业突破数据管理技术瓶颈,以更加敏捷、精准和可靠的数据交付驱动企业业务创新与经营提效

Aloudata的博客 668

为什么阿里巴巴不建议 boolean 类型变量用 isXXX?

戳这里,加关注哦~背景平时工作中大家经常使用到boolean以及Boolean类型的数据,前者是基本数据类型,后者是包装类,为什么不推荐使用isXXX来命名呢?到底是用基本类型的数据好呢...

WantFlyDaCheng的博客 337

别再手动折腾了!PICO Unity SDK 一键配置开发环境保姆级教程(含PDC串流调试)

本文详细介绍了PICO Unity SDK的一键配置功能,帮助开发者快速搭建VR开发环境。通过自动化配置流程,大幅减少手动设置时间,提升开发效率。文章还涵盖了PDC串流调试技巧和常见问题解决方案,是PICO VR开发的实用指南。

weixin_30335575的博客 454

java定义boolean命名_阿里规范:为何boolean类型变量命名禁用is开头

欢迎大家关注 github.com/hsfxuebao/j… ,希望对大家有所帮助,要是觉得可以的话麻烦给点一下Star哈转自:https://www.cnblogs.com/Zzwena/p/13744846.html通常定义Java实体类时,对于boolean属性,阿里规约中明确要求不能使用is开头。至于为什么,我们稍后再讲。这里先讲一下前几天在工作中,项目遇到的一个问题。库表中某个字段存入了...

weixin_39633891的博客 2216

Vcenter安全加固-防火墙-只允许特定的IP地址访问Vcenter

3、此时除了被允许的IP地址可以访问之外,其余地址均被防火墙阻挡。2、再进行0.0.0.0/0匹配所有其他IP地址进行拒绝访问。1、只需要关注接受和拒绝即可。2、其余选择不是这个场景使用的。1.只允许特定的IP地址访问Vcenter。1、登录Vcenter管理界面。2、点击防火墙-添加。

博然的宝藏库 7287

数字IC后端实战:OCC电路时钟树综合的5个关键技巧(附Synopsys工具配置)

本文深入探讨了数字IC后端设计中OCC电路时钟树综合的实战技巧。针对工具自动平衡导致的绕线拥塞和时序问题,文章提出了分段处理的核心思路,并详细阐述了通过物理隔离、分段长树策略以及Synopsys工具链(如ICC2、PrimeTime)的精准配置来优化function clk与occ clk路径的关键方法,旨在提升时序收敛性和可制造性。

jwt8token的博客 858

为什么阿里巴巴不建议boolean类型变量用isXXX?

背景:平时工作中大家经常使用到boolean以及Boolean类型的数据,前者是基本数据类型,后者是包装类,为什么不推荐使用isXXX来命名呢?到底是用基本类型的数据好呢还是用包装类好呢? 例子: 1.其他非boolean类型 privateStringisHot; publicStringgetIsHot(){ returnisHot; } 2.boolean类型 privatebooleanisHot; publicbooleanisHot(){ returnisH...

JAVA一木的博客 510

【虚幻引擎UE】UE5 仅需6步轻松实现关卡顺滑切换

【虚幻引擎UE】UE5 仅需6步轻松实现关卡切换

灵境引路人 2万+

阿里巴巴MySQL规范,五千字版,这次全了(建议收藏)

之前分享了阿里巴巴MySQL【强制】规范,大伙反馈不过瘾,希望补充【推荐】规范与【参考】规范。好滴,满足大家的心愿。画外音:补充了很多信息,文章较长,建议收藏。规范内容取自“阿里巴巴MySQL规范”(黄山版),发布时间为2022.2.3,开源。第一部分:建表规范【强制】规范一:是否字段1. 表达是否概念的字段,必须使用is_xxx的形式命名;2. 数据类型必须是 unsigned tinyint;...

shenjian58的博客 468

SPICE仿真软件:HSPICE_(22).HSPICE仿真案例分析

通过上述案例分析,我们可以看到HSPICE仿真软件在不同电路类型和仿真场景中的应用。无论是简单的直流分析、交流分析还是复杂的暂态分析,HSPICE都能提供详细的仿真结果,帮助我们更好地理解和优化电路设计。希望这些案例能够为读者提供实用的参考和指导,进一步提升使用HSPICE进行电路仿真的能力。输入文件的编写:确保输入文件格式正确,使用注释来解释每一部分的内容。分析类型的选择:根据电路的特点选择合适的分析类型,如.DC.AC和.TRAN。输出结果的设置:使用.print命令来指定需要输出的节点电压和支路电流。

kkchenjj的博客 1309

如何通过Davinci Configurator来新增一个BswM仲裁规则

详细介绍如何通过Davinci Configurator来新增一个BswM仲裁规则。

initiallizer的博客 772

“布尔类型的变量名不要加is前缀”原理解析

最近阅读公司的规范,发现了这样的一条: 【强制】POJO 类中的任何布尔类型的变量,都不要加 is 前缀,否则部分框架解析会引起序列化错误。 如果读者研发的产品正在大量使用阿里系框架,这个问题就需要十分注意。 我们假设一个场景,设计文档中设计了一个类,其中某个field命名为 isXx: 这时,对于前端后分离的项目,前端认为你返回的json中将存在一个 Key为 “isXx”的value。后端亦是如此开发。 Class SomeClass{ boolean isXx; /... } 如

kevinmeanscool的博客 1968

我的宠物狗学编程:从零开始的代码之旅

在这个示例中,我们定义了一个名为"interact"的函数,它通过输入函数获取用户的输入,并根据输入执行相应的代码块。在编程中,我们使用条件语句来根据不同的条件执行不同的代码块。对于我的狗狗,我将创建一个名为"feed"的函数来表示它的进食行为,并根据不同的条件输出不同的信息。在这个示例中,我们定义了一个名为"feed"的函数,并使用一个参数"food"来表示食物。对于我的狗狗,我将创建一个名为"dog_name"的变量来存储它的名字。对于我的狗狗,我将创建一个名为"bark"的函数来表示它的叫声。

2301_79331387的博客 335

为什么阿里强制 boolean 类型变量不能使用 is 开头?

点击上方“码农突围”,马上关注这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看来源:blog.youkuaiyun.com/belongtocode/artic...

欢迎关注公众号:【码农突围】,回复9999,可以获取一份LeetCode刷题笔记 135

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

阿里强制 boolean 类型变量不能使用 is 开头?

其实javaBeans规范中对这些均有相应的规定,基本数据类型的属性,其getter和setter方法是getXXX()和setXXX,但是对于基本数据中布尔类型的数据,又有一套规定,其getter和setter方法是isXXX()和setXXX。咱们举个例子,一个计算盈利的系统,其盈利比例有正有负,若使用了基本类型bouble定义了数据,当RPC调用时,若出现了问题,本来应该返回错误的,但是由于使用了基本类型,返回了0.0,系统会认为没有任何问题,今年收支平衡,而不会发现其实是出现了错误。

tangjieqing的博客 568

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

为什么阿里强制 boolean 类型变量不能使用 is 开头

点击关注公众号,回复“2T”获取2TB学习资源!互联网架构师后台回复2T有特别礼包上一篇:深夜看了张一鸣的微博,让我越想越后怕来源:blog.youkuaiyun.com/belongtocode...

emprere的博客 136

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: SpringBoot 定时任务动态管理通用解决方案
下一篇: Nginx 入门到实战,新手必懂。
Java思维导图
博客等级 码龄10年 306粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值