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

Jenkins任务实战:五种类型、配置与排错指南 持续集成(CI/CD)通过自动化构建、测试与部署缩短交付周期,而任务编排是落地 CI/CD 的核心环节。Jenkins 作为主流自动化服务器,以“任务”为执行单元,将源码拉取、触发策略、构建环境、构建步骤与构建后操作串联成可重复的流水线。理解自由风格、Pipeline、多分支流水线等任务类型的边界,并掌握参数化构建、环境变量注入与通知机制,能显著提升自动化部署的稳定性和可维护性。在运维、后端与 DevOps 实践中,合理选型与快速排错是跑通第一套 Jenkins 流程的关键。从任务类型选型、SCM 配置、触 阅读详情

一、背景
平时工作中大家经常使用到boolean以及Boolean类型的数据,前者是基本数据类型,后者是包装类,这2种写法随处可见,到底哪种是对的呢,不对的,到底会在哪里翻车?为什么不推荐使用isXXX来命名呢?到底是用基本类型的数据好呢还是用包装类好呢?看了BAT的开发手册后,我给大家捋一下。

二、举例子
1、其他非boolean类型

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

2、boolean类型

private boolean isHot;
public boolean isHot() {
	return isHot;
}

3、包装类型

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

4、不以is开头

private boolean hot;
public boolean isHot() {
    return hot;
}

5、包装类型

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

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

  • 对于非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开发手册中对于这个也有强制规定:
在这里插入图片描述
因此,这里建议大家POJO中使用包装数据类型,局部变量使用基本数据类型。

– 平时开发养成良好的开发规范,你的程序会越稳健,你的基础也会逐步扎实,希望对你有帮助!

双串锂电池主动均衡设计:MP2642GR-Z与MK20DX128实战指南 锂电池串联应用中,电池单体间电压不一致会引发容量衰减、热失控与续航骤降等系统性风险。其本质源于电芯制造公差、温度梯度及老化速率差异,需通过高精度电压监测与能量动态重分配实现均衡。主动均衡凭借能量转移而非耗散的特性,在效率、寿命与可靠性上显著优于被动方案,已成为中高端BMS的核心技术路径。本文聚焦两节锂电(如18650/软包)典型场景,详解MP2642GR-Z集成AFE与MK20DX128VFM5轻量MCU协同实现±1.5mV采样精度、<200μs响应、86%均衡效率的工程闭环,覆盖原理选型、PCB抗扰布局、 阅读详情

相关推荐

C++类型安全ORM:sqlpp11编译期检查与MySQL实战指南

在数据库操作中,ORM(对象关系映射)框架通过将数据库表映射为编程语言中的类,简化了数据访问层的开发,提升了代码的可维护性。其核心原理在于抽象SQL操作,让开发者以面向对象的方式处理数据,从而减少直接拼接SQL字符串带来的安全风险与错误。从技术价值看,类型安全的ORM能在编译阶段捕获SQL语法和类型错误,显著提升代码的健壮性。尤其在C++这类缺乏运行时反射的语言中,利用编译期元编程实现类型安全显得尤为重要。应用场景广泛覆盖后端服务、金融系统等对数据一致性要求高的领域。sqlpp11作为C++中类型安全ORM

weixin_30736301的博客 336

Java中boolean类型属性is丢失问题分析及序列化时注意事项

在阿里开发手册中,强制规定不要在布尔类型的字段上使用is作为前缀来定义方法,而应该采用其他方式。原因在于JavaBeans Specification对于普通参数和布尔类型参数的命名规则是不同的。具体来说,对于普通参数,getter和setter方法以get和set开头,而对于布尔类型参数,setter方法仍然以set开头,但getter方法则以is开头。

程序员小屋 6488

10.2 构网型变流器引发的次同步振荡与宽频振荡问题:机理分析与抑制技术

随着构网型变流器在新型电力系统中的规模化部署,其作为电压源主动支撑电网的能力得到验证的同时,也引发了一系列前所未有的稳定性问题。传统的同步发电机主导的电力系统中,振荡模式主要集中于**低频区间**。然而,构网型变流器通过快速数字控制实现的虚拟同步、惯性响应等先进功能,其控制环路动态与电网阻抗、其他电力电子设备之间产生了复杂的交互作用。这种交互不仅可能诱发经典的**次同步振荡**,更可能催生频率范围从数赫兹到数百赫兹甚至上千赫兹的**宽频振荡**。

技术工作者 1315

为什么boolean类型变量不推荐使用is开头

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

Apple_Boy的博客 1万+

stm32H743基于CubeMX配置为双ADC多通道DMA规则采样

stm32H743的ADC支持的最大频率为36MHz,有相关资料上说是可以超频,具体技术细节不多讨论。 需求: 使用stm32H743的ADC采集5路ovrc

xtqbp的博客 4364

电子设计实战:用MOS管手把手搭建D触发器电路(含时序分析避坑指南)

本文详细介绍了如何使用MOS管从零开始搭建D触发器电路,重点解析了建立时间和保持时间等关键时序参数对电路稳定性的影响。通过实测波形分析和避坑指南,帮助电子工程师掌握D触发器的实际搭建技巧与优化方法,提升数字电路设计的可靠性。

x1y2z的博客 1163

Java boolean类型的变量命名由is开头,后端无法正常接收参数传值

boolean类型的变量命名由is开头时,IDEA自动生成get、set方法的问题。

博客 6878

实战|2026美团&大众点评餐饮数据抓取:Playwright/Selenium反爬全攻略

核心结论:2026年美团&大众点评的反爬核心是“多维度风控”,需组合使用“住宅IP+设备指纹伪装+真人行为模拟+动态验证处理”,Playwright是最优工具,Selenium仅作为补充。效率优化:单机爬取速度建议控制在“每小时500-800条”,避免高频请求触发风控;分布式爬取需确保每个节点使用独立住宅IP,且行为轨迹不一致。扩展方向集成WASM解密工具,破解2026年美团的Token加密;用AI识别动态点选验证,提升验证通过率;对接大数据平台,对抓取的餐饮数据进行可视化分析。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2466

Java 以is开头的Boolean属性的字段 传参

Java 以is开头的Boolean属性的字段 传参

zhengaog的博客 2926

19、利用PostGIS进行空间分析:更高效的矢量分析方法

本文介绍了如何利用PostGIS进行高效灵活的矢量空间分析,重点探讨了在选址安静住宅场景中使用缓冲区和距离测量两种方法的实现与优化。通过QGIS与PostGIS结合,演示了数据上传、CTE应用、ST_Intersects与ST_Distance函数对比,并深入分析了横向子查询在提升查询性能和代码可读性方面的优势。文章还比较了不同方法的适用场景,并以房地产开发选址为例展示了完整分析流程,最后总结了PostGIS在空间分析中的强大能力与未来应用前景。

d3e4f的博客 92

适航规章、标准,书籍资料下载汇总(更新中)

以下是一些收集到的适航相关的资料,分享给大家。(如果没有你想要的资料,请留言,等找到会及时更新!

qq_41854911的博客 2562

java 有is吗_Java属性为什么不能是is开头的boolean

Java属性为什么不能是is开头的boolean通常定义Java实体类时,对于boolean属性,阿里规约中明确要求不能使用is开头。至于为什么,我们稍后再讲。这里先讲一下前几天在工作中,项目遇到的一个问题。库表中某个字段存入了一个实体类的json字符串,在查询库表后,需要将json字符串转为实体类对象进行更改后再转为json字符串后返回给前端。在这当中就出现了一个问题,库表中存入的数据明明是is...

weixin_39939530的博客 2431

Lammps不同亲疏水性粗糙表面的润湿行为模拟(包含in文件)

Lammps粗糙表面的润湿行为模拟(包含in文件)前言—润湿行为模拟一、物理模型构建二、具体in文件—in文件内循环亲疏水性三、具体in文件—分子模板构建初始模型以及平衡态模拟四、全部代码(基地粗糙表面只提供data文件) 前言—润湿行为模拟 润湿现象:当液体与固体接触时,液体的附着层将沿固体表面延伸。当接触角 θ\rm \thetaθ 为锐角时,液体润湿固体,若θ为零时,液体将展延到全部固体表面上。润湿现象的产生与液体和固体的性质有关。(来自百度百科) 润湿行为的本质是固液之间的相互作用,也就是分子间的范

Rockyoung 7094

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

欢迎关注,回复”Java“获面试宝典来源:blog.youkuaiyun.com/belongtocode/article/details/100635246背景平时工作中大家经常使用到boolean...

程序IT圈 105

华为OD机考双机位C卷 - 天然蓄水库(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 天然蓄水库(OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 1741

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

阿里禁用 boolean 类型变量用 isXxx 命名,why?

作者:Apple_Web来源:blog.youkuaiyun.com/belongtocode/article/details/100635246平时工作中大家经常使用到boolean以及Boolean类型的数据,前者是基本数据类型,后者是包装类,至于新来的技术总监为什么这么反感这种方式?为什么不推荐使用isXXX来命名呢?到底是用基本类型的数据好呢,还是用包装类好呢?下面我们结合阿里手册一一道来吧!例子//...

392

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Java SE 知识点:原生数据类型与使用陷阱

JAVA中的数据类型分为两类: 原生数据类型(Primitive Data Type) 引用类型(对象类型)(Reference Type) JAVA中的原生数据类型共有8种: 整型:使用int表示。(32位) 字节型:使用byte表示,(表示-128~127 之间的 256 个整数)。 短整型:使用 short 表示。(16 位) 长整型:使用 long 表示。(64 位) ...

Away_summer的博客 332

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

变量和常量

Java中的数据类型 在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。 八种基本类型: 1、byte: byte 数据类型是8位、有符号的,以二进制补码表示的整数; 最小值是 -128(-2^7); ...

GU0YUAN的博客 335

The Concise TypeScript Book 原始类型全解:掌握 string、number、bigint、symbol、null、undefined、Array 与 any 的底层语义

本文以《The Concise TypeScript Book》第 11 章 [Tipos Primitivos(原始类型,葡萄牙语版)](https://link.gitcode.com/i/016432b313cc4e62badf94002f5ec623) 为核心骨架,结合仓库中英文原版章节与真实编译配置,系统讲解 TypeScript 的 7 种原始类型及其派生形态(只读数组、元组、`any

gitblog_00879的博客 280

Java开发入门:环境配置、数据类型与运算符详解

Java作为主流的面向对象编程语言,其核心概念和环境搭建是开发者必备基础。JDK环境配置涉及JAVA_HOME变量设置和Path路径添加,这是运行Java程序的前提。Java数据类型分为基本类型和引用类型,其中基本类型包括byte、int等8种,而引用类型则指向堆内存中的对象。运算符系统包含算术、关系、逻辑等多种类型,位运算在性能优化中尤为重要。掌握这些基础知识对于使用IntelliJ IDEA等IDE进行企业级开发至关重要,也是理解面向对象编程和JVM原理的重要铺垫。

weixin_30385925的博客 431

从Protel仿真到洞洞板实战:我的51单片机避障小车硬件焊接与调试踩坑全记录

本文详细记录了从Protel仿真到洞洞板实战的51单片机避障小车制作全过程,重点分享了硬件焊接与调试中的常见问题及解决方案。涵盖电源系统优化、L298N电机驱动连接、HC-SR04超声波模块调试等关键环节,提供实用的滤波算法和故障排查技巧,帮助电子爱好者避开实际项目中的典型陷阱。

weixin_30299709的博客 477

mri:快速扫描CLI标志和参数的轻量级工具完全指南

mri 是一款轻量级的 CLI 标志和参数扫描工具,作为 `minimist` 和 `yargs-parser` 的快速替代方案,它能高效地解析命令行参数,为开发者提供简洁易用的参数处理功能。无论是构建简单的命令行工具还是复杂的应用程序,mri 都能以其出色的性能和简洁的 API 满足需求。 ## 为什么选择 mri? 在众多 CLI 参数解析工具中,mri 脱颖而出的关键在于它的**极致性能

gitblog_00755的博客 1028

Lefthook 配置项 assert_lefthook_installed 详解:确保 Git Hook 永不静默失效

`assert_lefthook_installed` 是 Lefthook 顶层配置中的一个布尔开关,用于在 Git Hook 执行时强制校验 Lefthook 可执行文件是否存在:若找不到则以退出状态 1 终止操作,从而避免"Lefthook 曾经安装过、现在却无法运行,导致所有校验规则被静默跳过"的危险场景。读完本文,你将掌握该配置项的确切语义、默认值、配置写法、底层查找机制(包括 `$PA

gitblog_00458的博客 987

MEMZ 源码级分析

先用GetDesktopWindow()获取了顶层桌面的句柄,再用GetWindowDC()获取了桌面的窗口设备上下文(DC),接着用GetWindowRect获取桌面的大小,最后使用BitBlt()绘制图形并ReleaseDC()关闭写入。中间那一大段就是获取写入内容,这一段就是覆盖系统MBR的过程。然后同样的获取桌面DC,鼠标位置。回到主程序,继续往下看流程。Msg=0xD,开始先获取窗口中所有文本,存到v2,然后将v2代入sub_401AA0,最后Msg=0xC重新设置窗口的文本为处理后的v2。

2401_86687927的博客 1544
上一篇: Spring的Controller是单例还是多例?怎么保证并发的安全?
下一篇: 遍历/循环枚举Enum值
Colin1113
博客等级 码龄10年 16粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值