人们很少做他们相信是对的事,他们做比较方便的事,然后后悔。——鲍勃.迪伦
相信大伙在开发中经常用equals
去比较两个对象是否相等,这里分享一下一些别的写法
注意翻转equals
:例如我们之前是这样写ruben.equals("ruben")
,一定要改成"ruben".equals(ruben)
养成好习惯,利人利己
第一种写法,最常见的这种
1 | String ruben = "ruben"; |
第二种写法,避免空指针
1 | // 避免空指针的java.util.Objects.equals |
比较数组的equals
1 | // 比较数组的Objects.deepEquals |
Junit
的equals
1 | // Junit的org.junit.Assert.assertEquals(java.lang.Object, java.lang.Object),用于测试,如果equals结果为false则抛出Error |
花式写法
1 | // java.util.function.Predicate花式写法 |