!“门店“.equals(certificate.getType()) !certificate.getType().equals(“门店“) 两种写法的区别

博客讨论了Java中两种字符串比较写法 “门店”.equals(certificate.getType()) 和 certificate.getType().equals(“门店”) 的区别。二者功能等效,但读取方式不同。为避免空指针异常,推荐常量或已知非空字符串在前的写法,其健壮性更好。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

!“门店”.equals(certificate.getType())
!certificate.getType().equals(“门店”)
两种写法的区别

这两种代码在功能上是等效的,它们都是检查 certificate 的类型是否不等于 “门店”。然而,它们只是读取的方式稍有不同。第一种是 “门店”.equals(certificate.getType()),而第二种是 certificate.getType().equals(“门店”)。

通常,为了避免空指针异常,我们会更倾向于第一种写法,即常量或已知非空字符串在前,因为如果我们调用 certificate.getType() 返回的是 null,那么第一种写法就会避免抛出空指针异常,而是返回 false。而第二种写法在 certificate.getType() 返回 null 的情况下会抛出空指针异常。

所以,从健壮性的角度考虑,第一种 “门店”.equals(certificate.getType()) 的写法更值得提倡。这样可以确保即使 certificate.getType() 返回的是 null,代码也不会抛出空指针异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值