- 前言
在比较两个String类型的数据时,通常会使用equals()方法。比较的两个字符串一般没有先后顺序,但是之前有人就说最好把常量现在前面,变量写在后面。一直不知道为什么,现在终于知道了…
- 小demo
//例:比较对象的一个属性是否是"hello",对象的属性用object代替
object.equals("hello");
"hello".equals(object);
- 分析
上面两句在语法上没有区别,执行的结果也是相同的。但是后者优于前者,因为前者有可能报空指针异常。object是一个属性(变量),传递过来的值就有可能为null,那么使用null去调用equals()方法的时候,就会报异常。后者就不会,因为后者的“hello”是一个字符串常量,本身就拥有equals()方法,所以不会报错。
结论:尽量写成”“.equals(obj)的形式。