fix pr#1694

This commit is contained in:
Looly 2021-07-06 02:47:54 +08:00
parent 795b3f71ea
commit ead5e1c13a
2 changed files with 12 additions and 14 deletions

View File

@ -15,6 +15,7 @@
### 🐞Bug修复
* 【core 】 修复RadixUtil.decode非static问题issue#I3YPEH@Gitee
* 【core 】 修复EqualsBuilder数组判断问题pr#1694@Github
-------------------------------------------------------------------------------------------------------------

View File

@ -39,7 +39,7 @@ import java.util.Set;
* return EqualsBuilder.reflectionEquals(this, obj);
* }
* </pre>
*
* <p>
* 来自Apache Commons Lang改造
*/
public class EqualsBuilder implements Builder<Boolean> {
@ -241,7 +241,7 @@ public class EqualsBuilder implements Builder<Boolean> {
* @since 2.0
*/
public static boolean reflectionEquals(final Object lhs, final Object rhs, final boolean testTransients, final Class<?> reflectUpToClass,
final String... excludeFields) {
final String... excludeFields) {
if (lhs == rhs) {
return true;
}
@ -375,19 +375,15 @@ public class EqualsBuilder implements Builder<Boolean> {
return this;
}
if (lhs == null || rhs == null) {
this.setEquals(false);
return this;
return setEquals(false);
}
final Class<?> lhsClass = lhs.getClass();
if (false == lhsClass.isArray()) {
// The simple case, not an array, just test the element
this.setEquals(lhs.equals(rhs));
return this;
if (ArrayUtil.isArray(lhs)) {
// 判断数组的equals
return setEquals(ArrayUtil.equals(lhs, rhs));
}
// 判断数组的equals
this.setEquals(ArrayUtil.equals(lhs, rhs));
return this;
// The simple case, not an array, just test the element
return setEquals(lhs.equals(rhs));
}
/**
@ -549,10 +545,11 @@ public class EqualsBuilder implements Builder<Boolean> {
* Sets the <code>isEquals</code> value.
*
* @param isEquals The value to set.
* @since 2.1
* @return this
*/
protected void setEquals(boolean isEquals) {
protected EqualsBuilder setEquals(boolean isEquals) {
this.isEquals = isEquals;
return this;
}
/**