String的equals方法的一个小细节

  • 前言

在比较两个String类型的数据时,通常会使用equals()方法。比较的两个字符串一般没有先后顺序,但是之前有人就说最好把常量现在前面,变量写在后面。一直不知道为什么,现在终于知道了…

  • 小demo
//例:比较对象的一个属性是否是"hello",对象的属性用object代替

object.equals("hello");

"hello".equals(object);
  • 分析

上面两句在语法上没有区别,执行的结果也是相同的。但是后者优于前者,因为前者有可能报空指针异常。object是一个属性(变量),传递过来的值就有可能为null,那么使用null去调用equals()方法的时候,就会报异常。后者就不会,因为后者的“hello”是一个字符串常量,本身就拥有equals()方法,所以不会报错。

结论:尽量写成”“.equals(obj)的形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值