作为一个初学者,今天看到这个,必须记一下。
equals()方法是对象比较函数,按照对象比较,系统默认四个类覆写该方法:Integer , String,Date,file 没有覆写equals()方法的类会调用Object的equals()方法,Object类的equals()方法直接用==实现
比较过程:
1.首先判断两个比较对象类型是否相同,如果不同返回false。
2.如果相同继续判断对象内容是否相同,如果相同返回true,如果不同返回false。
Java7新增的Objects类的equals方法,Objects类是Object的工具类,有一些十分好用的方法,equals就是其中之一。
当使用a.quals(b)时,我们要确保a不能为空,一般我们有两种方法:
1.常量写外面,变量写里面
2.判空
上面这两种方法可以避免空指针,但实际开发时总有疏忽的时候。所以推荐使用Objects.equals(a,b),此equlas方法的代码实现也很简单
public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b)); }//源码
坚持,不管你写的有多烂,总会经验+1的 。
经验+1 QaQ