You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java官方标准是否推荐使用constant.equals(variable)的写法?

Java字符串相等判断写法对比

结论

CONSTANT_STRING.equals(a)的写法更优,也是Java官方标准推荐的写法。

核心原因

  • 彻底规避调用方空指针风险:第一种写法调用equals的主体是final修饰的字符串常量,本身不可能为null,永远不会抛出调用方为空的NullPointerException。
  • 自动处理入参为空的场景:JDK中String类的equals方法本身已经做了入参判断,当传入的a为null时会直接返回false,无需额外写a != null的校验逻辑,代码更简洁。
  • 反过来如果用a.equals(CONSTANT_STRING)的写法,一旦入参a是null,会直接抛出NullPointerException导致程序崩溃,除非提前额外做非空校验,增加了代码冗余。

补充说明

Java官方编码规范明确要求:进行等值判断时,确定不为空的常量、枚举值、已初始化的成员变量等要放在equals方法的左侧,就是为了从编码习惯层面避免不必要的空指针异常。

内容的提问来源于stack exchange,提问作者fatherazrael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:42:02