add method

This commit is contained in:
Looly
2020-09-17 17:10:42 +08:00
parent 72a33201eb
commit a5f757679e
4 changed files with 41 additions and 7 deletions

View File

@@ -13,6 +13,7 @@ import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.util.*;
/**
@@ -22,14 +23,33 @@ import java.util.*;
*/
public class ObjectUtil {
/**
* 比较两个对象是否相等,此方法是 {@link #equal(Object, Object)}的别名方法。<br>
* 相同的条件有两个,满足其一即可:<br>
* <ol>
* <li>obj1 == null &amp;&amp; obj2 == null</li>
* <li>obj1.equals(obj2)</li>
* <li>如果是BigDecimal比较0 == obj1.compareTo(obj2)</li>
* </ol>
*
* @param obj1 对象1
* @param obj2 对象2
* @return 是否相等
* @see #equal(Object, Object)
* @since 5.4.3
*/
public static boolean equals(Object obj1, Object obj2) {
return equal(obj1, obj2);
}
/**
* 比较两个对象是否相等。<br>
* 相同的条件有两个,满足其一即可:<br>
* <ol>
* <li>obj1 == null &amp;&amp; obj2 == null</li>
* <li>obj1.equals(obj2)</li>
* <li>如果是BigDecimal比较0 == obj1.compareTo(obj2)</li>
* </ol>
* 1. obj1 == null &amp;&amp; obj2 == null 2. obj1.equals(obj2)
*
* @param obj1 对象1
* @param obj2 对象2
@@ -37,7 +57,9 @@ public class ObjectUtil {
* @see Objects#equals(Object, Object)
*/
public static boolean equal(Object obj1, Object obj2) {
// return (obj1 != null) ? (obj1.equals(obj2)) : (obj2 == null);
if(obj1 instanceof BigDecimal && obj2 instanceof BigDecimal){
return NumberUtil.equals((BigDecimal)obj1, (BigDecimal)obj2);
}
return Objects.equals(obj1, obj2);
}