温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中StringUtils、CollectionUtils和ObjectUtil的区别是什么

发布时间:2022-12-28 09:11:52 来源:亿速云 阅读:153 作者:iii 栏目:开发技术

这篇文章主要介绍“Java中StringUtils、CollectionUtils和ObjectUtil的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java中StringUtils、CollectionUtils和ObjectUtil的区别是什么”文章能帮助大家解决问题。

    一.解析

    概念

    StringUtils概念

    StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。

    除了构造器,StringUtils 中一共有130多个方法,并且都是 static 的,所以我们可以这样调用 StringUtils.xxx()

    CollectionUtils概念

    CollectionUtils是日常经常会用到的一个工具类,在包org.apache.commons.collections中。

    目前最常用到的两个方法是CollectionUtils.isEmpty()以及CollectionUtils.isNotEmpty()。

    ObjectUtil概念

    ObjectUtils工具类会尝试优雅的处理null输入,对于空输入通常不会抛出异常,每个方法都更详细的记录其行为。在标准的应用程序中ObjectUtils类不应该被实例化。

    二.区别

    1.StringUtils和 CollectionUtils分别用来判断字符串和集合,ObjectUtil用来判断对象

    2.想要字符串是否为空,先要了解“” 和null的区别

    null 是没有地址的,可以理解为空指针。当对象在构造器初始化时,如果没有被赋予初始值,那么会默认赋值为 null。

    “”空字符串是一个 String 对象是有地址的,只是内容是空。

    isEmpty() 和 isBlank() 区别在于 isEmpty() 多了对于空格的判断,如果字符串只包含有空格,isEmpty()判定是非空的,而 isBlank() 判断空格依然是空字符串

    StringUtils代码测试

    String s1=null;
    String s2="";
    System.out.println("s1:"+s1+":"+StringUtils.isEmpty(s1))
    System.out.println("s2:"+s2+":"+StringUtils.isEmpty(s2))
    System.out.println("s1:"+s1+":"+StringUtils.isBlank(s1))
    System.out.println("s2:"+s2+":"+StringUtils.isBlank(s2))

    看结果

    Java中StringUtils、CollectionUtils和ObjectUtil的区别是什么

    3.判断集合是否为空,也需要了解size==0和null

    • null 是没有地址的,可以理解为空指针。当对象在构造器初始化时,如果没有被赋予初始值,那么会默认赋值为 null。

    • size==0表示集合已经指向一个地址,但是指向的对象中没有元素。

    看代码

    List<String> list=new ArrayList();
    list.add("张三");
    list.add("李四");
    list.add("王五");
    if(CollectionUtils.isNotEmpty(list)){
        System.out.println("有值")
    }else{
    System.out.println("无值")
    }

    结果

    Java中StringUtils、CollectionUtils和ObjectUtil的区别是什么

    4.同样的,判断对象是否为空,也分为地址为空和值为空,如果地址为空,ObjectUtil.isEmpty结果为true,值为空结果为false

    这里需要创建实体类这个步骤省去了直接上代码

    user user=new User()
    user userDto= null;
    System.out.println("user:"+Object.isEmpty(user));
    System.out.println("userDto:"+Object.isEmpty(userDto));

    看结果

    Java中StringUtils、CollectionUtils和ObjectUtil的区别是什么

    关于“Java中StringUtils、CollectionUtils和ObjectUtil的区别是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI