Test.java 判断是否为空,判断是否相等util工具

来源:互联网 发布:js时间格式化为时间戳 编辑:程序博客网 时间:2024/06/15 22:04
import java.util.Collection;import java.util.List;/** * @author zac * @since  2017-12-2 * 判断是否为空使用Test.e(param);判断是否相同Test.eq(param1,param2); */public class Test {    public static <T> T v(T value, T defaultValue) {        return e(value) ? defaultValue : value;    }    public static <T> T v(List<T> value, int i, T defaultValue) {        return e(value, i) ? defaultValue : value.get(i);    }    public static <T> T v(T[] value, int i, T defaultValue) {        return e(value, i) ? defaultValue : value[i];    }    @SuppressWarnings("rawtypes")    public static boolean e(Object value) {        if (value == null)            return true;        if (value instanceof String) {            if (((String)value).length() == 0) {                return true;            }        }        if (value instanceof Collection) {            if (((Collection)value).isEmpty()) {                return true;            }        }        if (value instanceof Object[]) {            if (((Object[])value).length == 0) {                return true;            }        }        return false;    }    @SuppressWarnings("rawtypes")    public static boolean e(List value, int i) {        return (value == null || value.size() <= i || Test.e(value.get(i)));    }    public static boolean e(Object[] value, int i) {        return (value == null || value.length <= i || Test.e(value[i]));    }    public static boolean eq(Object value, Object value2) {        if (e(value)) {            if (e(value2))                return true;        } else {            if (value.equals(value2))                return true;        }        return false;    }}

(完)

原创粉丝点击