import org.apache.commons.lang3.ObjectUtils;
import java.math.BigDecimal;
import java.math.BigInteger;
public class NumberUtils {
/**
* 判断数字为null或0
*
* @param value
* @return
*/
public static <T> boolean isNullOrZero(T value) {
if (ObjectUtils.isEmpty(value)) {
return true;
}
if (value instanceof Integer) {
return (Integer) value == 0;
} else if (value instanceof Long) {
return (Long) value == 0L;
} else if (value instanceof Double) {
return (Double) value == 0.0;
} else if (value instanceof Float) {
return (Float) value == 0.0f;
} else if (value instanceof Short) {
return (Short) value == 0;
} else if (value instanceof Byte) {
return (Byte) value == 0;
} else if (value instanceof BigDecimal) {
return ((BigDecimal) value).compareTo(BigDecimal.ZERO) == 0;
} else if (value instanceof BigInteger) {
return ((BigInteger) value).compareTo(BigInteger.ZERO) == 0;
} else {
return false;
}
}
/**
* 都是null或0
*
* @param values
* @param <T>
* @return
*/
public static <T> boolean isAllNullOrZero(T... values) {
for (T value : values) {
if (!isNullOrZero(value)) {
return false;
}
}
return true;
}
/**
* 有一个是null或0
*
* @param values
* @param <T>
* @return
*/
public static <T> boolean isHasNullOrZero(T... values) {
for (T value : values) {
if (isNullOrZero(value)) {
return true;
}
}
return false;
}
/**
* 都不为 null 且不为 0
*
* @param values 可变参数列表
* @param <T> 参数类型
* @return 如果所有参数都不为 null 且不为 0,则返回 true;否则返回 false
*/
public static <T> boolean isNoneNullOrZero(T... values) {
for (T value : values) {
if (isNullOrZero(value)) {
return false;
}
}
return true;
}
}
本文链接:
https://jianz.xyz/index.php/archives/464/
不错不错,我喜欢看 https://www.ea55.com/