优雅地实现入参非空判断

Java方法的入参大部分都是需要校验的,开发过程也有很多时候需要对参数是否为空做判断。
但是在每个方法下面都写上对每个参数的非空判断就显得很臃肿,不够优雅。如果能够写一个方法类,无论多少参数,参数类型如何,都能对入参进行判断,就能使入参非空校验变得优雅。
方法类的入参属于动态参数,一般可以用数组Object[] args解决,但这样的话,需要把所有参数合并成一个数组,又不足够优雅。JDK1.5新增语法,新特性Object … args 刚好可以解决这个问题。
判断空参一般用Null==param;而String,Map,Array等类型需要增加与空串,空key的判断。
粗略地实现如下:

public static boolean paramCheck(Object ... args){
        boolean flag = true;
        if (args != null) {
            for (int i = 0; i < args.length; i++) {
                Object param = args[i];
                //判断是否为Null
                if (param == null) {
                    flag = false;
                    break;
                }
                //字符串等类型还需要做多重判断
                if (param instanceof String && param.toString().trim().length() == 0) {
                    flag = false;
                    break;
                }
                if (param.getClass().isArray() && Array.getLength(param) == 0) {
                    flag = false;
                    break;
                }
                if (param instanceof Collection && ((Collection) param).isEmpty()) {
                    flag = false;
                    break;
                }
                if (param instanceof Map && ((Map) param).isEmpty()) {
                    flag = false;
                    break;
                }
            }
        }else{
            flag = false;
        }
        return flag;
    }   
    }

希望对大家有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值