Java中StringUtils与CollectionUtils和ObjectUtil概念讲解

作者:十年(Sugar) 时间:2023-11-29 07:45:38 

一.解析

概念

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概念讲解

三.总结

1.StringUtils多用来判读字符串字段,ObjectUtil多用来判断对象,CollectionUtils多用来判断集合

2.看情况而定, 有时我们的对象是空的时候有时这些方法有时会失效, 这是我们需要找寻其他的方法来进行非空判断, 避免"空指针异常"

来源:https://blog.csdn.net/m0_61682705/article/details/127599772

标签:Java,StringUtils,CollectionUtils,ObjectUtil
0
投稿

猜你喜欢

  • windows定时器配置执行java jar文件的方法详解

    2023-04-17 16:40:21
  • C#获取任务栏显示进程的方法

    2023-08-28 11:09:53
  • 一文详解Jetpack Android新一代导航管理Navigation

    2022-12-08 20:40:14
  • 自定义Spring Security的身份验证失败处理方法

    2022-09-27 13:18:31
  • java equals函数用法详解

    2022-07-31 06:40:20
  • Android studio 出现错误Run with --stacktrace option to get the stack trace. Run with --info or --debu

    2022-10-25 09:43:15
  • monkeyrunner之安卓开发环境搭建教程(1)

    2023-02-24 06:24:22
  • Android应用开发中使用Fragment的入门学习教程

    2023-05-17 04:30:59
  • Java实现导入导出Excel文件的方法(poi,jxl)

    2021-09-13 21:12:35
  • Java一维数组和二维数组元素默认初始化值的判断方式

    2022-03-08 21:17:49
  • 详解java模板和回调机制

    2023-08-13 15:33:46
  • java8中parallelStream性能测试及结果分析

    2021-09-26 15:46:43
  • 深入分析C#中WinForm控件之Dock顺序调整的详解

    2022-08-21 18:45:57
  • Java 使用getClass().getResourceAsStream()方法获取资源

    2023-07-23 08:59:56
  • Android Flutter实现有趣的页面滚动效果

    2023-02-14 06:58:10
  • c#通过ip获取地理信息

    2022-09-16 00:43:03
  • idea 多模块项目依赖父工程class找不到问题的方法

    2022-06-08 10:47:41
  • IDEA教程之Activiti插件图文详解

    2023-11-14 23:06:45
  • 详解Android应用沙盒机制

    2023-01-30 10:43:37
  • edittext + listview 实现搜索listview中的内容方法(推荐)

    2022-03-11 21:41:57
  • asp之家 软件编程 m.aspxhome.com