Svi*_*ish 18 java equals code-cleanup
我觉得这样的东西在equals方法上很烦人和丑陋:
if (field == null)
{
if (other.field != null)
return false;
}
else if ( ! field.equals(other.field))
return false;
Run Code Online (Sandbox Code Playgroud)
在C#中,我可以做到这一点:
if( ! Object.Equals(field, other.field))
return false;
Run Code Online (Sandbox Code Playgroud)
在Java中是否有类似的东西,或者如果是这样的话,首选的方法是什么?
pho*_*ser 42
Java 7提供了java.util.Objects.equals.
Luk*_*der 24
使用commons-lang:
org.apache.commons.lang.ObjectUtils.equals(Object object1, Object object2)
Run Code Online (Sandbox Code Playgroud)
源代码:
public static boolean equals(Object object1, Object object2) {
if (object1 == object2) {
return true;
}
if ((object1 == null) || (object2 == null)) {
return false;
}
return object1.equals(object2);
}
Run Code Online (Sandbox Code Playgroud)
来自Apache
http://commons.apache.org/lang/
那与你在C#中所做的相同