Java工具库——commons-lang3的50个常用方法

在这里插入图片描述
未来的你,我亲爱的女孩,愿此刻无忧无虑,开心,快乐…

工具库介绍

Apache Commons Lang 3(通常简称为Commons Lang 3)是Apache Commons项目中的一个Java工具库,它提供了一系列实用的工具类和方法,用于简化和增强Java编程中常见的任务。Commons Lang 3主要关注文本处理、日期操作、数学计算、系统属性、反射、字符串操作等方面的功能。以下是Commons Lang 3的一些主要功能和类:

  1. StringUtils: 提供了丰富的字符串处理方法,包括字符串比较、拆分、连接、大小写转换、去除空格、判空、替换等。这些方法使字符串操作更加方便和可读。

  2. DateUtils: 用于处理日期和时间的工具类。它包括日期的格式化、解析、比较、加减等操作,使日期处理更容易。

  3. NumberUtils: 提供了处理数字类型的实用方法,如将字符串转换为数字、数值比较、范围检查等。

  4. ArrayUtils: 用于数组操作的工具类,包括数组的拷贝、查找、反转、合并等,简化了数组处理。

  5. RandomStringUtils: 生成随机字符串的工具类,可用于生成随机密码、验证码等。

  6. SystemUtils: 获取系统属性的工具类,如操作系统名称、Java版本等。

  7. ReflectionUtils: 提供了用于反射操作的实用方法,可以轻松地获取类的字段、方法、构造函数等信息。

  8. WordUtils: 提供了一些词汇处理的方法,如大小写转换、首字母大写等。

Commons Lang 3的主要目标是帮助Java开发人员避免编写重复的代码,提高代码的可维护性和可读性。它是一个非常受欢迎的Java工具库,广泛用于开发中,特别是在处理字符串和日期时非常有用。

方法列举

Apache Commons Lang 3包含许多有用的方法,涵盖了各种Java编程任务。以下是50个Commons Lang 3的常用方法,每个方法都附有详细解释和示例代码段:

  1. StringUtils.isEmpty(CharSequence str)

    • 解释: 检查字符串是否为空(null或长度为0)。
    • 示例:
      if (StringUtils.isEmpty(myString)) {// 处理空字符串
      }
      
  2. StringUtils.isNotBlank(CharSequence str)

    • 解释: 检查字符串是否非空且不仅包含空格。
    • 示例:
      if (StringUtils.isNotBlank(myString)) {// 处理非空且不仅包含空格的字符串
      }
      
  3. StringUtils.defaultIfEmpty(String str, String defaultStr)

    • 解释: 如果字符串为空,则返回默认字符串。
    • 示例:
      String result = StringUtils.defaultIfEmpty(myString, "default");
      
  4. StringUtils.strip(String str)

    • 解释: 去除字符串两端的空格。
    • 示例:
      String trimmed = StringUtils.strip(myString);
      
  5. StringUtils.substring(String str, int start, int end)

    • 解释: 截取字符串的子串。
    • 示例:
      String subStr = StringUtils.substring(myString, 2, 5);
      
  6. StringUtils.join(Iterable<?> iterable, String separator)

    • 解释: 将可迭代对象的元素连接成一个字符串,使用指定分隔符分隔。
    • 示例:
      List<String> list = Arrays.asList("A", "B", "C");
      String result = StringUtils.join(list, ",");
      
  7. StringUtils.replace(String text, String searchString, String replacement)

    • 解释: 替换字符串中的指定子字符串。
    • 示例:
      String replaced = StringUtils.replace(myString, "old", "new");
      
  8. StringUtils.capitalize(String str)

    • 解释: 将字符串的第一个字符转为大写。
    • 示例:
      String capitalized = StringUtils.capitalize(myString);
      
  9. StringUtils.uncapitalize(String str)

    • 解释: 将字符串的第一个字符转为小写。
    • 示例:
      String uncapitalized = StringUtils.uncapitalize(myString);
      
  10. DateUtils.parseDate(String str, String... parsePatterns)

    • 解释: 将字符串解析为日期对象,支持多种日期格式。
    • 示例:
      Date date = DateUtils.parseDate("2023-10-30", "yyyy-MM-dd");
      
  11. DateUtils.addDays(Date date, int amount)

    • 解释: 在日期上添加指定天数。
    • 示例:
      Date newDate = DateUtils.addDays(myDate, 5);
      
  12. DateUtils.truncate(Date date, int field)

    • 解释: 截断日期,将其精度调整到指定字段(如年、月、日)。
    • 示例:
      Date truncatedDate = DateUtils.truncate(myDate, Calendar.MONTH);
      
  13. DateUtils.isSameDay(Date date1, Date date2)

    • 解释: 检查两个日期是否表示同一天。
    • 示例:
      boolean sameDay = DateUtils.isSameDay(date1, date2);
      
  14. NumberUtils.isNumber(String str)

    • 解释: 检查字符串是否表示一个数字。
    • 示例:
      boolean isNumber = NumberUtils.isNumber(myString);
      
  15. NumberUtils.toInt(String str, int defaultValue)

    • 解释: 将字符串转换为整数,如果无法转换则返回默认值。
    • 示例:
      int intValue = NumberUtils.toInt(myString, 0);
      
  16. ArrayUtils.contains(Object[] array, Object objectToFind)

    • 解释: 检查数组中是否包含指定元素。
    • 示例:
      boolean contains = ArrayUtils.contains(myArray, myElement);
      
  17. ArrayUtils.isEmpty(Object[] array)

    • 解释: 检查数组是否为空(null或长度为0)。
    • 示例:
      if (ArrayUtils.isEmpty(myArray)) {// 处理空数组
      }
      
  18. ArrayUtils.removeElement(T[] array, T element)

    • 解释: 从数组中移除指定元素。
    • 示例:
      String[] newArray = ArrayUtils.removeElement(myArray, "elementToRemove");
      
  19. ArrayUtils.reverse(T[] array)

    • 解释: 反转数组中的元素顺序。
    • 示例:
      ArrayUtils.reverse(myArray);
      
  20. ArrayUtils.toString(Object[] array, String separator)

    • 解释: 将数组转换为字符串,使用指定分隔符。
    • 示例:
      String arrayStr = ArrayUtils.toString(myArray, ",");
      
  21. ObjectUtils.defaultIfNull(T object, T defaultValue)

    • 解释: 如果对象为null,返回默认值。
    • 示例:
      String result = ObjectUtils.defaultIfNull(myObject, "default");
      
  22. SystemUtils.IS_OS_WINDOWS

    • 解释: 检查操作系统是否为Windows。
    • 示例:
      if (SystemUtils.IS_OS_WINDOWS) {// 在Windows操作系统上执行特定操作
      }
      
  23. ReflectionToStringBuilder.toString(Object object)

    • 解释: 使用反射将对象转换为字符串表示。
    • 示例:
      String objStr = ReflectionToStringBuilder.toString(myObject);
      
  24. WordUtils.capitalize(String str)

    • 解释: 将字符串中的单词的首字母大写。
    • 示例:
      String capitalized = WordUtils.capitalize(myString);
      
  25. WordUtils.wrap(String str, int wrapLength)

    • 解释: 将字符串按指定长度包装成多行文本。
    • 示例:
      String wrappedText = WordUtils.wrap(myString, 20);
      
  26. StringUtils.contains(CharSequence seq, CharSequence searchSeq)

  • 解释: 检查字符串是否包含指定子字符串。
  • 示例:
    boolean contains = StringUtils.contains(myString, "substring");
    
  1. StringUtils.removeStart(String str, String remove)
  • 解释: 从字符串开头移除指定前缀。
  • 示例:
    String result = StringUtils.removeStart(myString, "prefix");
    
  1. StringUtils.leftPad(String str, int size, char padChar)
  • 解释: 在字符串左侧填充指定字符,直到达到指定长度。
  • 示例:
    String padded = StringUtils.leftPad(myString, 10, '0');
    
  1. StringUtils.getLevenshteinDistance(CharSequence s, CharSequence t)
  • 解释: 计算两个字符串之间的Levenshtein距离,即编辑距离。
  • 示例:
    int distance = StringUtils.getLevenshteinDistance("kitten", "sitting");
    
  1. DateUtils.isSameInstant(Date date1, Date date2)
  • 解释: 检查两个日期是否代表相同的瞬间(同一毫秒)。
  • 示例:
    boolean sameInstant = DateUtils.isSameInstant(date1, date2);
    
  1. DateUtils.isSameLocalTime(Calendar cal1, Calendar cal2)
  • 解释: 检查两个日历对象是否代表相同的本地时间(不考虑时区)。
  • 示例:
    boolean sameLocalTime = DateUtils.isSameLocalTime(calendar1, calendar2);
    
  1. NumberUtils.max(int... array)
  • 解释: 返回一组整数中的最大值。
  • 示例:
    int max = NumberUtils.max(5, 8, 2, 10);
    
  1. NumberUtils.min(int... array)
  • 解释: 返回一组整数中的最小值。
  • 示例:
    int min = NumberUtils.min(5, 8, 2, 10);
    
  1. ArrayUtils.getLength(Object array)
  • 解释: 获取数组的长度。
  • 示例:
    int length = ArrayUtils.getLength(myArray);
    
  1. ArrayUtils.indexOf(Object[] array, Object objectToFind)
  • 解释: 查找数组中指定元素的索引。
  • 示例:
    int index = ArrayUtils.indexOf(myArray, myElement);
    
  1. ArrayUtils.containsOnly(T[] array, T... valuesToSearch)
  • 解释: 检查数组是否仅包含指定的值。
  • 示例:
    boolean containsOnly = ArrayUtils.containsOnly(myArray, "A", "B", "C");
    
  1. ArrayUtils.addAll(T[] array1, T... array2)
  • 解释: 合并两个数组。
  • 示例:
    String[] mergedArray = ArrayUtils.addAll(myArray1, myArray2);
    
  1. ArrayUtils.toMap(Object[] array)
  • 解释: 将数组转换为Map对象,其中数组中的元素被解释为键-值对。
  • 示例:
    Map<String, String> map = ArrayUtils.toMap(new String[]{"key1", "value1", "key2", "value2"});
    
  1. ObjectUtils.firstNonNull(T... values)
  • 解释: 返回第一个非null的值,如果没有非null值,则返回null。
  • 示例:
    String result = ObjectUtils.firstNonNull(value1, value2, value3);
    
  1. SystemUtils.USER_NAME
  • 解释: 获取当前用户的用户名。
  • 示例:
    String userName = SystemUtils.USER_NAME;
    
  1. SystemUtils.JAVA_VERSION
  • 解释: 获取Java运行时的版本。
  • 示例:
    String javaVersion = SystemUtils.JAVA_VERSION;
    
  1. ReflectionUtils.getAllFields(Class<?> cls)
  • 解释: 获取类及其超类中的所有字段。
  • 示例:
    Field[] fields = ReflectionUtils.getAllFields(myClass);
    
  1. ReflectionUtils.getAllMethods(Class<?> cls)
  • 解释: 获取类及其超类中的所有方法。
  • 示例:
    Method[] methods = ReflectionUtils.getAllMethods(myClass);
    
  1. WordUtils.initials(String str)
  • 解释: 获取字符串中每个单词的首字母并连接起来。
  • 示例:
    String initials = WordUtils.initials("Commons Lang");
    
  1. WordUtils.abbreviate(String str, int maxWidth)
  • 解释: 将字符串截断为指定宽度,并在末尾添加省略号。
  • 示例:
    String abbreviated = WordUtils.abbreviate("This is a long text", 10);
    

这些方法将帮助你更好地利用 Apache Commons Lang 3 来处理字符串、日期、数值、数组、系统属性、反射等多个常见任务。
欢迎多多交流探讨。。。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/124448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android---如何同view进行渲染

ViewRootImpl 在 Activity、window 和 View 三者关系之间起着承上启下的作用。一方面&#xff0c;ViewRootImpl 中通过 Binder 通信机制&#xff0c;远程调用 WindowSession 将 View 添加到 Window 中&#xff1b;另一方面&#xff0c;ViewRootImpl 在添加 View 之前&#xff0…

树莓派 Qt中 QCameraInfo 无法使用

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、QCameraInfo 是什么&#xff1f;二、使用步骤1.测试代码2.解决方案2.1输入命令2.2输出 3. 成功打印了摄像头的信息 总结 前言 提示&#xff1a;这里可以添…

Spring的条件注解,一篇文章盘得清清楚楚明明白白

前言 在Spring中&#xff0c;条件注解可根据特定的条件来决定是否创建或配置Bean&#xff0c;这些条件可以基于类、属性、环境等因素。通过使用条件注解&#xff0c;我们可以在Spring容器中更加灵活地管理和控制组件的创建和注入&#xff0c;帮助我们更加灵活地管理和控制Bean…

51单片机-点阵屏led

代码配置 这样就能选择每一列哪个亮了 进行位选&#xff0c;段清零&#xff0c;这样就不会影响多列同时了 实现动画 1、使用文字摸提取文件&#xff0c;提取图案的16进制表示数组 offest作为偏移量&#xff0c;count作为计时。count10,偏移量加1&#xff0c;就相当于得到下一…

毕业设计基于SpringMVC+Mybatis+Bootstrap的电影院管理系统源码+数据库

<<电影院管理系统>> 电影院管理系统&#xff1a;SpringMVCJSPTomcatMybatisBootstrapJqueryAnimateCSSLayerJS 项目部署&#xff1a;该项目是IDEA版本&#xff0c;Maven项目 前端依赖&#xff1a; Bootstrap-3.4.1Animate.css- 4.1.1Jquery-3.6.0Layer-v3.5.1B…

自学爬虫—作业1—requests模块

视频&#xff1a; 要求&#xff1a; 肯德基地址查询&#xff0c;爬某个关键字&#xff0c;获取下面的所有page的信息&#xff0c;存到一个json或者txt。 代码&#xff1a; 关键点&#xff0c;&#xff08;1&#xff09;每一个ajax的请求第一个键值对就是所有获得的地址的总数…

Python语言: 切片的使用

切片的本质&#xff1a;通过切片来截取指定的元素&#xff0c;形成一个新的容器。 切片的具体阐释&#xff1a; 此切片非切片面包的切片&#xff0c;而是python语言中的切片。切片&#xff1a;顾名思义&#xff0c;就是把整块的东西分割开来。python语言中的切片是把一个容器截…

微信小程序 slot 不显示

问题:创建组件&#xff0c;使用带名字的slot&#xff0c;页面调用组件使用slot不显示 源码&#xff1a; 组件xml <view class"p-item br24" style"{{style}}"><slot name"right" wx:if"{{!custBottom}}"></slot>&l…

java商城免费搭建 VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城

1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

maven环境变量,安装源,本地仓库配置

1. maven环境变量 我这里用的是idea自带的maven 数值为&#xff1a; D:\software\computer_software\java\IDEAJ\IDEAJ2021.2.1\IntelliJ IDEA 2021.2.1\plugins\maven\lib\maven3\bin 2. 安装源更换为阿里云&#xff08;我不知道清华源是什么网址&#xff0c;网上也没查到&am…

分布式:一文吃透分布式事务和seata事务

目录 一、事务基础概念二、分布式事务概念什么是分布式事务分布式事务场景CAP定理CAP理论理解CAPCAP的应用 BASE定理强一致性和最终一致性BASE理论 分布式事务分类刚性事务柔性事务 三、分布式事务解决方案方案汇总XA规范方案1&#xff1a;2PC第一阶段&#xff1a;准备阶段第二…

【计算机网络】什么是HTTPS?HTTPS为什么是安全的?

【面试经典题】 前言&#xff1a; HTTP最初的设计就是用于数据的共享和传输&#xff0c;并没有考虑到数据的安全性&#xff0c;如窃听风险&#xff0c;篡改风险和冒充风险。HTTPS是在 HTTP 的基础上引入了一个加密层。HTTPS通过数据加密&#xff0c;数据完整性检验和身份认证…

【Java 进阶篇】Java登录案例详解

登录是Web应用程序中常见的功能&#xff0c;它允许用户提供凭证&#xff08;通常是用户名和密码&#xff09;以验证其身份。本文将详细介绍如何使用Java创建一个简单的登录功能&#xff0c;并解释登录的工作原理。我们将覆盖以下内容&#xff1a; 登录的基本概念创建一个简单的…

安装Jdk 报错 ,Java SE Development Kit 8 Update 202(64-bit)安装完毕之前,向导被中断

具体原因没有找到&#xff0c;估计是由于jdk 没有删干净导致的&#xff0c;我的处理方法是&#xff0c;将 Java的注册表全然后手动安装 Jdk和导入注册表&#xff08;在同事那里获取jdk文件 压缩包&#xff0c;并将 java的注册表导出&#xff0c;放在自己电脑上使用。&#xff0…

ChatGPT扩展系列之ChatExcel

文章目录 ChatGPT扩展系列之ChatExcel对某一列的文字进行处理对数据进行排序对数据进行计算微软官方又推出Excel AI插件ChatGPT扩展系列之ChatExcel 自从ChatGPT很空出世之后,很多基于ChatGPT的应用便如雨后春笋般应用而生,这些应用的底层本质就是利用了ChatGPT对自然语言的…

M1本地部署Stable Diffusion

下载安装 参考博客: 在Mac上部署Stable Diffusion&#xff08;超详细&#xff0c;AI 绘画入门保姆级教程&#xff09; 安装需要的依赖库 brew install cmake protobuf rust python3.10 git wget 可能中途会存在下载报错或者下载卡主的问题,需要切国内源 brew进行替换源: …

树莓派 qt 调用multimedia、multimediawidgets、serialport、Qchats

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、测试11.命令安装出现错误 二、测试21. 安装 Qt Charts&#xff1a;2. 安装 Qt Multimedia 和 Qt MultimediaWidgets&#xff1a;3. 安装 Qt SerialPort&…

C/S架构和B/S架构

1. C/S架构和B/S架构简介 C/S 架构&#xff08;Client/Server Architecture&#xff09;和 B/S 架构&#xff08;Browser/Server Architecture&#xff09;是两种不同的软件架构模式&#xff0c;它们描述了客户端和服务器之间的关系以及数据交互的方式。 C/S 架构&#xff08…

Springboot的Container Images,docker加springboot

Spring Boot应用程序可以使用Dockerfiles容器化&#xff0c;或者使用Cloud Native Buildpacks来创建优化的docker兼容的容器映像&#xff0c;您可以在任何地方运行。 1. Efficient Container Images 很容易将Spring Boot fat jar打包为docker映像。然而&#xff0c;像在docke…

【已解决】取消 el-aside 默认宽度|不再用 !important

文章目录 问题原因解决方法 问题原因 element-ui 的 el-aside 组件有 width props&#xff0c;默认为 300px 解决方法 给 el-aside 标签添加 width"" width 为空&#xff08;不正确的css样式/写法&#xff09;样式将会失效。 就可以在 style 中修改 el-aside 宽…