Java类型判空

package com.dsyh.util;

	import java.math.BigDecimal;
	import java.math.BigInteger;
	import java.util.Arrays;
	
	/**
	 * 数值助手
	 *
	 * @author luohao
	 *
	 */
	public class NumberHelper {
	
	    private NumberHelper() {
	        throw new SecurityException();
	    }
	
	    /**
	     * 判断是否相等
	     *
	     * @param a
	     *            数值a
	     * @param b
	     *            数值b
	     * @return 是否相等
	     */
	    public static boolean isEquals(
	            Byte a,
	            Byte b) {
	        return a != null && b != null && a.compareTo(b) == 0;
	    }
	
	    /**
	     * 判断是否相等
	     *
	     * @param a
	     *            数值a
	     * @param b
	     *            数值b
	     * @return 是否相等
	     */
	    public static boolean isEquals(
	            Character a,
	            Character b) {
	        return a != null && b != null && a.compareTo(b) == 0;
	    }
	
	    /**
	     * 判断是否相等
	     *
	     * @param a
	     *            数值a
	     * @param b
	     *            数值b
	     * @return 是否相等
	     */
	    public static boolean isEquals(
	            Short a,
	            Short b) {
	        return a != null && b != null && a.compareTo(b) == 0;
	    }
	
	    /**
	     * 判断是否相等
	     *
	     * @param a
	     *            数值a
	     * @param b
	     *            数值b
	     * @return 是否相等
	     */
	    public static boolean isEquals(
	            Integer a,
	            Integer b) {
	        return a != null && b != null && a.compareTo(b) == 0;
	    }
	
	    /**
	     * 判断是否相等
	     *
	     * @param a
	     *            数值a
	     * @param b
	     *            数值b
	     * @return 是否相等
	     */
	    public static boolean isEquals(
	            Long a,
	            Long b) {
	        return a != null && b != null && a.compareTo(b) == 0;
	    }
	
	    /**
	     * 判断是否相等
	     *
	     * @param a
	     *            数值a
	     * @param b
	     *            数值b
	     * @return 是否相等
	     */
	    public static boolean isEquals(
	            Float a,
	            Float b) {
	        return a != null && b != null && a.compareTo(b) == 0;
	    }
	
	    /**
	     * 判断是否相等
	     *
	     * @param a
	     *            数值a
	     * @param b
	     *            数值b
	     * @return 是否相等
	     */
	    public static boolean isEquals(
	            Double a,
	            Double b) {
	        return a != null && b != null && a.compareTo(b) == 0;
	    }
	
	    /**
	     * 判断是否相等
	     *
	     * @param a
	     *            数值a
	     * @param b
	     *            数值b
	     * @return 是否相等
	     */
	    public static boolean isEquals(
	            BigInteger a,
	            BigInteger b) {
	        return a != null && b != null && a.compareTo(b) == 0;
	    }
	
	    /**
	     * 判断是否相等
	     *
	     * @param a
	     *            数值a
	     * @param b
	     *            数值b
	     * @return 是否相等
	     */
	    public static boolean isEquals(
	            BigDecimal a,
	            BigDecimal b) {
	        return a != null && b != null && a.compareTo(b) == 0;
	    }
	
	    /**
	     * 判断是否小于等于0
	     *
	     * @param number
	     *            数值
	     * @return 是否小于等于0
	     */
	    public static boolean ltZero(
	            Number number) {
	        return !greaterZero(number);
	    }
	
	    /**
	     * 判断是否大于0
	     *
	     * @param number
	     *            数值
	     * @return 是否大于0
	     */
	    public static boolean gtZero(
	            Number number) {
	        return greaterZero(number);
	    }
	
	    /**
	     * 判断是否大于0
	     *
	     * @param number
	     *            数值
	     * @return 是否大于0
	     */
	    public static boolean greaterZero(
	            Number number) {
	        return number != null && number.doubleValue() > 0;
	    }
	
	    /**
	     * 判断是否大于0
	     *
	     * @param numbers
	     *            数值列表
	     * @return 是否大于0
	     */
	    public static boolean anyGreaterZero(
	            Number... numbers) {
	        if (numbers == null || numbers.length == 0) {
	            return false;
	        }
	        return Arrays.stream(numbers).anyMatch(NumberHelper::greaterZero);
	    }
	
	    /**
	     * 判断是否大于0
	     *
	     * @param numbers
	     *            数值列表
	     * @return 是否大于0
	     */
	    public static boolean allGreaterZero(
	            Number... numbers) {
	        if (numbers == null || numbers.length == 0) {
	            return false;
	        }
	        return Arrays.stream(numbers).allMatch(NumberHelper::greaterZero);
	    }
	
	    /**
	     * 判断是否大于等于0
	     *
	     * @param number
	     *            数值
	     * @return 是否大于等于0
	     */
	    public static boolean greaterOrEqualZero(
	            Number number) {
	        return number != null && number.doubleValue() >= 0;
	    }
	
	    /**
	     * 判断是否大于等于0
	     *
	     * @param numbers
	     *            数值列表
	     * @return 是否大于等于0
	     */
	    public static boolean anyGreaterOrEqualZero(
	            Number... numbers) {
	        if (numbers == null || numbers.length == 0) {
	            return false;
	        }
	        return Arrays.stream(numbers).anyMatch(NumberHelper::greaterOrEqualZero);
	    }
	
	    /**
	     * 判断是否大于等于0
	     *
	     * @param numbers
	     *            数值列表
	     * @return 是否大于等于0
	     */
	    public static boolean allGreaterOrEqualZero(
	            Number... numbers) {
	        if (numbers == null || numbers.length == 0) {
	            return false;
	        }
	        return Arrays.stream(numbers).allMatch(NumberHelper::greaterOrEqualZero);
	    }
	
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值