coder

判空、相等常用工具类 ValidateUtils

2019-07-09  本文已影响0人  S拒绝拖延
/**
 * 对象判空工具类
 *
 * @Author: 
 * @Description:
 * @Modified:
 */
public class ValidateUtils {

    private ValidateUtils() {
    }

    /**
     * 判断两个对象是否相等  前提是该对象重写equals方法和hashcode方法
     *
     * @param obj
     * @param obj2
     * @return
     */
    public static boolean areEqual(Object obj, Object obj2) {
        if (obj == null) {
            return obj2 == null;
        } else {
            return obj.equals(obj2);
        }
    }

    /**
     * 字符串忽略大小写
     *
     * @param obj
     * @param obj2
     * @return
     */
    public static boolean areEqualIgnoreCase(String obj, String obj2) {
        if (obj == null) {
            return obj2 == null;
        } else {
            return obj.equalsIgnoreCase(obj2);
        }
    }

    /**
     * 判断对象、集合、Map、字符串数组是否为空
     *
     * @param value
     * @return
     */
    public static boolean isEmpty(Object value) {
        if (value == null) {
            return true;
        } else {
            if (value instanceof String) {
                if (((String) value).length() == 0) {
                    return true;
                }
            } else if (value instanceof Collection) {
                if (((Collection) value).size() == 0) {
                    return true;
                }
            } else if (value instanceof Map) {
                if (((Map) value).size() == 0) {
                    return true;
                }
            } else if (value instanceof String[] && ((String[]) ((String[]) value)).length == 0) {
                return true;
            }
            return false;
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读