非空校验的几种方式

1.string 字符串非空校验

StringUtils.isEmpty(String str);与StringUtils.isBlank(String str);

区别:

StringUtils.isEmpty(String str);==>str==null 或 str.length()==0 注意空格做非空处理

StringUtils.isBlank(String str);==>str==null 或 str.trim().length()==0 注意空格做空处理,且StringUtils.isBlank("\t \n \f \r") = true   //对于制表符、换行符、换页符和回车符做空处理;StringUtils.isBlank("\b") = false   //"\b"为单词边界符;

StringUtils.trim(String str);这个方法会去掉字符串两端的控制符,且对制表符、换行符、换页符和回车符做空处理及对"\b"为单词边界符也做空处理 ;StringUtils.trim(" \b \t \n \f \r    ") = ""

2.Collection集合非空校验

CollectionUtils..isEmpty(Collection coll);===>等价于coll==null || coll.isEmpty();(coll.size==0)

3.Object非空校验

Objects.isNull(Object obj);与object== null 没区别,只是由于jdk8引入lambda,所以在写法 Objects::isNull更直观

解释:: 方法引用(方法引用是用来直接访问类或者实例的已经存在的方法或者构造方法。方法引用提供了一种引用而不执行方法的方式,它需要由兼容的函数式接口构成的目标类型上下文。计算时,方法引用会创建函数式接口的一个实例)

1.静态方法引用 ClassName::staticMethod ==>等价于(args) -> ClassName.staticMethod (args),把lambda表达式的参数直接当成staticMethod的参数来调用

2.实例方法引用 objectName::instanceMethod   ==>等价于(args) -> ClassName.staticMethod (args) 把lambda表达式的参数直接当成instanceMethod的参数来调用

                ClassName::instanceMethod ==>等价于(args) -> args.instanceMethod() 或者(arg1,arg2) -> arg1.instanceMethod(arg2)其中ClassName是第一个参数arg1(当做目标对象),其他剩余参数arg2当成该方法的参数

3.构造方法引用(构造器引用)ClassName::new ==>等价于(args) ->new ClassName(args) ,把lambda表达式的参数当成ClassName构造器的参数

4.使用Assert

常用断言方法:  
 
Assert.notNull(Object object, "object is required")    -    对象非空 
Assert.isTrue(Object object, "object must be true")   -    对象必须为true   
Assert.notEmpty(Collection collection, "collection must not be empty")    -    集合非空  
Assert.hasLength(String text, "text must be specified")   -    字符不为null且字符长度不为0   
Assert.hasText(String text, "text must not be empty")    -     text 不为null且必须至少包含一个非空格的字符  
Assert.isInstanceOf(Class clazz, Object obj, "clazz must be of type [clazz]")    -    obj必须能被正确造型成为clazz 指定的类

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值