commons lang使用

Commons Lang ,一款 apache 基金会支持的处理字符的好工具 org.apache.commons.lang3 FROM:Apache Commons Apache Commons Lang扩展了Java标准库功能,主要提供字符串处理、数值运算、对象反射、并发等工具类,并增强java.util.Date功能。3.0版本改用org.apache.commons.lang3包名,可与旧版共存。文档包含各版本Javadoc(支持Java8+)及项目报告,用户可通过GitHub参与贡献。该库特别包含构建hashCode/equals/toString等方法的辅助工具。 阅读详情

  一个优秀的类应该重写toString,hashCode,equals,compareTo方法,我们来看一下apache如何带我们简化这些操作,以下示例支持两种形式,一种是通过逐个参数添加从而精细控制那些参数参与比较和输出,另一种是通过反射让全部参数都参与比较和输出 

Builder系列 

  1. //ToStringBuilder    
  2. @Override   
  3. public String toString() {    
  4.     return new ToStringBuilder(this).append(this.getId())    
  5.             .append(this.getUsername()).toString();    
  6. }    
  7.    
  8. @Override   
  9. public String toString() {    
  10.     return ToStringBuilder.reflectionToString(this);    
  11. }    
  12. // 以上输出格式为  Test@1270b73[<null>,<null>]    
  13.    
  14.    
  15.    
  16. // HashCodeBuilder    
  17. @Override   
  18. public int hashCode() {    
  19.     return HashCodeBuilder.reflectionHashCode(this);    
  20. }    
  21.    
  22. @Override   
  23. public int hashCode() {    
  24.     return new HashCodeBuilder(this).append(this.getId())    
  25.             .append(this.getUsername()).hashCode();    
  26. }    
  27.    
  28.    
  29.    
  30. // EqulasBuilder    
  31. @Override   
  32. public boolean equals(Object obj) {    
  33.     if (this == obj) {    
  34.         return true;    
  35.     }    
  36.     if (obj.getClass() == Test.class) {    
  37.         Test test = (Test) obj;    
  38.         return new EqualsBuilder().append(this.getId(), test.getId())    
  39.                 .append(this.getUsername(), test.getUsername()).isEquals();    
  40.     }    
  41.     return false;    
  42. }    
  43. @Override   
  44. public boolean equals(Object obj) {    
  45.     return EqualsBuilder.reflectionEquals(this, obj);    
  46. }    
  47.    
  48.    
  49. // CompareToBuilder    
  50. @Override   
  51. public int compareTo(Test o) {    
  52.     return CompareToBuilder.reflectionCompare(this, o);    
  53. }    
  54.    
  55. @Override   
  56. public int compareTo(Test o) {    
  57.     return new CompareToBuilder().append(this.getId(), o.getId())    
  58.             .append(this.getUsername(), o.getUsername()).toComparison();    
  59. }    


使用commons能最大程度的简化代码,实现one-line编程,注意使用反射形式的时候,static和transient不会参与比较或输出,要特别注意 


      有些情况下,Arrays满足不到你对数组的操作?不要紧,ArrayUtils帮你 

      ArrayUtils 

  1. public class TestMain {    
  2.    
  3.     public static void main(String[] args) {    
  4.         int[] nums1 = { 1, 2, 3, 4, 5, 6 };    
  5.         // 通过常量创建新数组    
  6.         int[] nums2 = ArrayUtils.EMPTY_INT_ARRAY;    
  7.    
  8.         // 比较两个数组是否相等    
  9.         ArrayUtils.isEquals(nums1, nums2);    
  10.    
  11.         // 输出数组,第二参数为数组为空时代替输出    
  12.         ArrayUtils.toString(nums1, "array is null");    
  13.    
  14.         // 克隆新数组,注意此拷贝为深拷贝    
  15.         int[] nums3 = ArrayUtils.clone(nums1);    
  16.    
  17.         // 截取数组    
  18.         ArrayUtils.subarray(nums1, 1, 2);    
  19.    
  20.         // 判断两个数组长度是否相等    
  21.         ArrayUtils.isSameLength(nums1, nums2);    
  22.    
  23.         // 判断两个数组类型是否相等,注意int和Integer比较时不相等    
  24.         ArrayUtils.isSameType(nums1, nums2);    
  25.    
  26.         // 反转数组    
  27.         ArrayUtils.reverse(nums1);    
  28.    
  29.         // 查找数组元素位置    
  30.         ArrayUtils.indexOf(nums1, 5);    
  31.    
  32.         // 查找数组元素最后出现位置    
  33.         ArrayUtils.lastIndexOf(nums1, 4);    
  34.    
  35.         // 查找元素是否存在数组中    
  36.         ArrayUtils.contains(nums1, 2);    
  37.    
  38.         // 将基本数组类型转为包装类型    
  39.         Integer[] nums4 = ArrayUtils.toObject(nums1);    
  40.    
  41.         // 判断是否为空,length=0或null都属于    
  42.         ArrayUtils.isEmpty(nums1);    
  43.    
  44.         // 并集操作,合并数组    
  45.         ArrayUtils.addAll(nums1, nums2);    
  46.    
  47.         // 增加元素,在下标5中插入10,注意此处返回是新数组    
  48.         ArrayUtils.add(nums1, 5, 1111);    
  49.    
  50.         // 删除指定位置元素,注意返回新数组,删除元素后面的元素会前移,保持数组有序    
  51.         ArrayUtils.remove(nums1, 5);    
  52.    
  53.         // 删除数组中值为10的元素,以值计算不以下标    
  54.         ArrayUtils.removeElement(nums1, 10);    
  55.     }    
  56. }    

还在使用传统反射吗?还在被反射的样板代码困扰?看commons如何帮助我们简化反射的工作,从样板代码抽身 

      ClassUtils  

  1. public class TestMain {    
  2.    
  3.     public static void main(String[] args) {    
  4.         // 获取Test类所有实现的接口    
  5.         ClassUtils.getAllInterfaces(Test.class);    
  6.    
  7.         // 获取Test类所有父类    
  8.         ClassUtils.getAllSuperclasses(Test.class);    
  9.    
  10.         // 获取Test类所在的包名    
  11.         ClassUtils.getPackageName(Test.class);    
  12.    
  13.         // 获取Test类简单类名    
  14.         ClassUtils.getShortClassName(Test.class);    
  15.    
  16.         // 判断是否可以转型    
  17.         ClassUtils.isAssignable(Test.class, Object.class);    
  18.    
  19.         // 判断是否有内部类    
  20.         ClassUtils.isInnerClass(Test.class);    
  21.    
  22.     }    
  23. }    

ConstructorUtils 

  1. public class TestMain {    
  2.    
  3.     public static void main(String[] args) {    
  4.    
  5.         // 获取参数为String的构造函数    
  6.         ConstructorUtils.getAccessibleConstructor(Test.class, String.class);    
  7.    
  8.         // 执行参数为String的构造函数    
  9.         Test test = (Test) ConstructorUtils.invokeConstructor(Test.class,    
  10.                 "Hello");    
  11.     }    
  12. }    
  13.    

  MethodUtils  

  1. public static void main(String[] args) throws NoSuchMethodException,    
  2.             IllegalAccessException, InvocationTargetException {    
  3.         // 调用无参方法    
  4.         Test test = new Test();    
  5.         MethodUtils.invokeMethod(test, "publicHello", null);    
  6.    
  7.         // 调用一参方法    
  8.         MethodUtils.invokeMethod(test, "publicHello", "Hello");    
  9.    
  10.         // 调用多参方法    
  11.         MethodUtils.invokeMethod(test, "publicHello", new Object[] { "100",    
  12.                 new Integer(10) });    
  13.    
  14.         // 调用静态方法    
  15.         MethodUtils.invokeStaticMethod(Test.class, "staticHello", null);    
  16.     }    
  17.    

FieldUtils  

  1. public class TestMain {    
  2.    
  3.     public static void main(String[] args) throws IllegalAccessException {    
  4.         Test test = new Test("1", "Ray", "hello");    
  5.    
  6.         // 以下两个方法完全一样,都能获取共有或私有变量,因为第三个参数都设置了不检查    
  7.         FieldUtils.getDeclaredField(Test.class, "username", true);    
  8.         FieldUtils.getField(Test.class, "username", true);    
  9.    
  10.         // 读取私有或公共变量的值    
  11.         FieldUtils.readField(test, "username", true);    
  12.    
  13.         // 读取静态变量    
  14.         FieldUtils.readStaticField(Test.class, "STATIC_FIELD");    
  15.    
  16.         // 写入私有或共有变量    
  17.         FieldUtils.writeField(test, "username", "RayRay", true);    
  18.    
  19.         // 写入静态变量    
  20.         FieldUtils.writeStaticField(Test.class, "STATIC_FIELD", "static_value");    
  21.     }    
  22. }    

 读者在使用时可能会发现,MethodUtils和ConstructUtils在org.apache.commons.lang.reflect和org.apache.commons.beanutils都存在,但FieldUtils和ClassUtils只在reflect当中存在,因为beanutils提供了另外一种名为PropertyUtils的对属性存取更为方便的工具,但PropertyUtils不能获取传统反射的Field对象,笔者建议MethodUtils和ConstructUtils应该倾向使用beanutils,因为beanutils就是为反射而存在,更专业(虽然提供的方法几乎一样),而使用ClassUtils和要获取传统的Field对象时使用reflect中的FieldUtils 


很多情况下我们都需要将字符串转换为数字,或判断字符串是否是数字等等操作,NumberUtils帮助我们方便的从字符串转换为数字,在不使用NumberUtils情况下,若然字符串值不是数字,使用Integer.parseInt()时会报出java.lang.NumberFormatException,但在NumberUtils的情况下,只会返回0而不产生错误 

      NumberUtils  and  RandomUtils 


  1. public class TestMain {    
  2.     public static void main(String[] args) throws IllegalAccessException {    
  3.         String str = "12.7";    
  4.         /*   
  5.          * org.apache.commons.lang.NumberUtils已经被弃用,   
  6.          * 注意要引入org.apache.commons.lang.math.NumberUtils   
  7.          */   
  8.    
  9.         // 判断字符串是否为整数    
  10.         NumberUtils.isDigits(str);    
  11.    
  12.         // 判断字符串是否为数字    
  13.         NumberUtils.isNumber(str);    
  14.    
  15.         // 获取参数中最大的值,支持传入数组    
  16.         NumberUtils.max(10, 20, 30);    
  17.    
  18.         // 获取参数中最小的值,支持传入数组    
  19.         NumberUtils.min(10, 20, 30);    
  20.    
  21.         // 将字符串转换为int类型,支持float,long,short等数值类型    
  22.         NumberUtils.toInt(str);    
  23.    
  24.         // 通过字符串创建BigDecimal类型 ,支持int,float,long等数值    
  25.         NumberUtils.createBigDecimal(str);    
  26.    
  27.    
  28.         /*   
  29.          * RandomUtils帮助我们产生随机数,不止是数字类型 ,    
  30.          * 连boolean类型都可以通过RandomUtils产生   
  31.          */   
  32.         RandomUtils.nextBoolean();    
  33.         RandomUtils.nextDouble();    
  34.         RandomUtils.nextLong();    
  35.         // 注意这里传入的参数不是随机种子,而是在0~1000之间产生一位随机数    
  36.         RandomUtils.nextInt(1000);    
  37.    
  38.     }    
  39. }    
  40.    

 在开发当中字符串的使用和操作时最为频繁的,而null的字符串经常让我们报出NullPointerException,在使用StringUtils后,将不需要为字符串的null值而烦恼,却又提供了更多的操作让我们更方便的操作字符串 



      StringUtils 

  1. public class TestMain {    
  2.     public static void main(String[] args) throws IllegalAccessException {    
  3.         String str = "Hello World";    
  4.         /*   
  5.          * 由于StringUtils拥有100+的方法,笔者不逐一列举用法,   
  6.          * 只列举笔者认为常用的或笔者使用过的   
  7.          */   
  8.    
  9.         // isEmpty和isBlank的区别在于isEmpty不会忽略空格,    
  10.         // " "<--对于这样的字符串isEmpty会认为不是空,    
  11.         // 而isBlank会认为是空,isBlank更常用    
  12.         StringUtils.isEmpty(str);    
  13.         StringUtils.isNotEmpty(str);    
  14.         StringUtils.isBlank(str);    
  15.         StringUtils.isNotBlank(str);    
  16.    
  17.    
  18.         // strip      --> 去除两端的aa    
  19.         // stripStart --> 去除开始位置的hell    
  20.         // stripEnd   --> 去除结尾位置的orld    
  21.         StringUtils.strip(str, "aa");    
  22.         StringUtils.stripStart(str, "hell");    
  23.         StringUtils.stripEnd(str, "orld");    
  24.    
  25.    
  26.         // 返回字符串在第三次出现A的位置    
  27.         StringUtils.ordinalIndexOf(str, "A", 3);    
  28.    
  29.    
  30.         // 获取str 开始为hello结尾为orld中间的字符串    
  31.         // 注意此方法返回字符串      -->substringBetween    
  32.         // 注意此方法返回字符串数组(多了个s) --> substringsBetween    
  33.         StringUtils.substringBetween(str, "hell", "orld");    
  34.         StringUtils.substringsBetween(str, "hell", "orld");    
  35.    
  36.    
  37.         // 重复字符串,第二种重载形式为在重复中用hahah拼接    
  38.         StringUtils.repeat(str, 3);    
  39.         StringUtils.repeat(str, "hahah", 2);    
  40.    
  41.    
  42.         // 统计参数2在字符串中出现的次数    
  43.         StringUtils.countMatches(str, "l");    
  44.    
  45.    
  46.         // 判断字符串是否全小写或大写    
  47.         StringUtils.isAllLowerCase(str);    
  48.         StringUtils.isAllUpperCase(str);    
  49.    
  50.    
  51.         // isAlpha        --> 全部由字母组成返回true    
  52.         // isNumeric      -->全部由数字组成返回true    
  53.         // isAlphanumeric -->全部由字母或数字组成返回true    
  54.         // isAlphaSpace   -->全部由字母或空格组成返回true    
  55.         // isWhitespace   -->全部由空格组成返回true    
  56.         StringUtils.isAlpha(str);    
  57.         StringUtils.isNumeric(str);    
  58.         StringUtils.isAlphanumeric(str);    
  59.         StringUtils.isAlphaSpace(str);    
  60.         StringUtils.isWhitespace(str);    
  61.    
  62.    
  63.         // 缩进字符串,第二参数最低为 4,要包含...    
  64.         // 现在Hello World输出为H...    
  65.         StringUtils.abbreviate(str, 4);    
  66.    
  67.    
  68.         // 首字母大写或小写    
  69.         StringUtils.capitalize(str);    
  70.         StringUtils.uncapitalize(str);    
  71.    
  72.    
  73.         // 将字符串数组转变为一个字符串,通过","拼接,支持传入iterator和collection    
  74.         StringUtils.join(new String[] { "Hello", "World" }, ",");    
  75.    
  76.    
  77.    
  78.         /*   
  79.          * 经常性要把后台的字符串传递到前提作为html代码进行解释,   
  80.          * 可以使用以下方法进行转换,以下方法输出为   
  81.          * <p>Hello</p>   
  82.          */   
  83.         StringEscapeUtils.escapeHtml("Hello    
  84. ");    
  85.     }    
  86. }    
  87.    

DateUtils and DateFormatUtils  

  1. public class TestMain {    
  2.     public static void main(String[] args) throws IllegalAccessException {    
  3.         Date day1 = new Date();    
  4.         /*   
  5.          * 由于Aache的DateUtils和DateFormatUtils并没有Joda强大,   
  6.          *  所以在这里只作简单的示例   
  7.          */   
  8.             
  9.         // 增加一天    
  10.         DateUtils.addDays(day1, 1);    
  11.         // 减少一年    
  12.         DateUtils.addYears(day1, -1);    
  13.    
  14.         // 格式化时间,第三参数为国际化,表示按美国时间显示    
  15.         DateFormatUtils.format(day1, "yyyy-MM-dd", Locale.UK);    
  16.    
  17.     }    
  18. }    

总结: 
      commons工具包很多开源组织都有提供,例如google,spring,apache都有各自的工具包,有众多的选择,但最终的目的只是为了方便我们程序的开发和维护,简化我们编写一些常用的逻辑,提升我们开发的效率,从而达到活在开源,善用开源
Apache Commons Lang 3,一个超厉害的 Java 工具库 Apache Commons Lang 3的功能与使用 阅读详情

相关推荐

01,Commons Lang

commons-Lang

XXT6666的博客 795

commons-lang包常用工具类的基本使用

目录 比较常用的工具类有: ArrayUtils常用方法: StringUtils常用方法: ObjectUtils常用方法: RandomUtils常用方法: NumberUtils 常用方法: DateUtils常用方法: SystemUtils常用方法: Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现...

淋雨一直走啊 1757

离线安装 nvidia-docker2(nvidia-container-toolkit)

很多时候大家都有用docker使用gpu的需求,但是因为网络等原因不是那么好用,这里留了一个给ubuntu的安装包,网络好的话也提供了在线安装方式。

father_yingying的博客 1181

commons-lang3常用工具方法介绍

apache提供的众多commons工具包,号称Java第二API,而common里面lang3包更是被我们使用得最多的。因此本文主要详细讲解lang3包里面几乎每个类的使用,希望以后大家使用此工具包。 Apache Commons Lang3 Maven 依赖: <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> <groupId>or.

liuerchong的博客 1万+

【校招】SHL 的 General Ability (GA, 通用能力测试)

SHL 的 General Ability (GA, 通用能力测试) 文章目录SHL 的 General Ability (GA, 通用能力测试)1、归纳推理题1.1 圈圈线条推理1.2 图形颜色位置推理1.3 箭头指向推理2. 数字推理题攻略3. 语言推理题 1、归纳推理题   归纳推理题我把它总结为三种类型:圈圈线条推理;图形颜色位置推理;箭头指向推理。 1.1 圈圈线条推理   你别看这个题目看起来很复杂,其实很简单,而且这个题型的题目背后原理都一样!我把我的 tips 偷偷分享给你们嘿嘿~先从 A

Sunnyside_ 2万+

Multisim仿真运放积分器踩坑实录:为什么你的方波变不成三角波?

本文针对Multisim仿真运放积分器时方波无法转换为三角波的常见问题,提供了详细的排查与调试指南。文章指出,经典RC积分电路因直流反馈开路导致运放饱和,核心解决方案是在反馈电容两端并联大阻值电阻以稳定直流工作点。通过参数优化(调整Rin、C、Rf)和高级仿真技巧,手把手教你调出线性度好、幅度适中的完美三角波,并分享异常波形(如饱和、不对称、振荡)的对应策略。

weixin_29231263的博客 113

commons.lang中常用的工具

链接:https://blog.csdn.net/hou_manager/article/details/78772179一、前言Java码农不识Apache,敲尽一生也枉然。旗下的开源项目众多,各个都是吊炸天。今日且说Commons,轻轻点击此链接进入Apache Commons主页,Logging、Pool、Net、ONGL、EL、IO、DBCP、Email、Collection、Lang……...

1、测试博主技术知识分享 2、pos行业知识技术分享 3、java后端技术知识分享 4、嵌入式技术知识分享 5、运维部署相关知识分享 778

云安全技术——搭建VPN

VPN(Virtual Private Network)是一种可以在公共网络上建立安全连接的技术。VPN是实现保密通信的基本手段,在windows系统上,可以直接进行VPN服务的搭建。1.VPN的工作原理:通过使用加密协议和认证机制,将本地计算机和远程服务器之间的通信加密和保护。2.VPN的分类:根据不同的方式和用途,VPN可以分为不同类型,例如远程访问VPN、站点到站点VPN等。3.VPN的优势:VPN可以带来许多好处,如提高数据安全性、隐藏真实IP地址、突破地理限制等。4.

qq_53142796的博客 3万+

commons-lang介绍

跟java.lang这个包的作用类似,Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等。commons.lang包这一组API的所有包名都以org.apache.commons.lang开头,共有如下8个包:org.apache.commons.la

秀才的专栏 1万+

分布式 Agent 系统设计:高并发场景下的挑战与解决方案

分布式 Agent 系统由多个分布在不同节点上的智能 Agent 组成,这些 Agent 具有自主决策能力,能够通过通信协作完成复杂任务。每个 Agent 可以看作是一个独立的实体,具备感知环境、处理信息、执行动作的功能,它们相互协作,共同实现系统的整体目标。分布式 Agent 系统在高并发场景下面临着资源调度、通信延迟、状态一致性、容错处理和性能瓶颈等诸多挑战。通过采用动态资源分配、高效通信协议、分布式共识算法、冗余备份等解决方案,可以有效应对这些挑战,提高系统的性能、可靠性和可用性。

shuizhudan223的博客 1290

Autosar诊断实战系列07-Dcm之0x19 06扩展数据配置及工程问题讨论

19 06扩展数据如何配置?如果某DTC没有出现过故障扩展数据该如何响应?

initiallizer的博客 1703

Apache Commons lang组件介绍使用

commons lang组件介绍和学习介绍Java语言开发时有一个隐患,那就是java支持null值,这就导致很多时候操作可能会出异常。因此很多第三方组件都会提供安全null safe 操作(即使用前先检查是否为null).其中apache commons项目下就提供了很多安全操作和工具类 lang包组织架构比较常用的工具类有ArrayUtils:数组工具类,提供数组拷贝、查找、反转等功能 Stri

小白成长记录 2482

FPGA实现串口的任意字节数接收

基于FPGA的任意字节数(单字节、多字节)的串口(UART)接收,真的不来看看吗?

孤独的单刀 1万+

Commons-Lang3使用

Commons-Lang3是Apache Commons项目中的一个重要组件,为Java开发者提供了一系列实用的公共基础类。一、Commons-Lang3简介Commons-Lang3是Apache的Jakarta Commons工程下的一个模块,它提供了一系列增强Java标准库的工具类。这些工具类涵盖了字符串处理、数组操作、日期处理、数字处理、集合操作等多个方面,旨在帮助开发者减少重复代码,提高开发效率。

刘皇叔说Java的博客 1408

C/C++李峋同款跳动的爱心代码(完整代码)

C++语言实现出李峋同款跳动的爱心的完整代码。

AIGC 10万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

StringUtils在commons-lang3和commons-lang中的区别

Java中的jar包,commons.lang和commons.lang3的区别? 鉴于lang3 不完全兼容之前的版本 所以重开一个路径避免冲突 ,lang3 完全支持1.5以上的特性 StringUtils在commons-lang3和commons-lang中的区别 原文地址 最近经常需要对String做一些判断和处理,于是就用到了Apache提供的StringUtils这个工具类,...

zzl429556205的专栏 3197

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

关于Apache Commons-Lang3的使用

关于Apache Commons-Lang3的使用 在日常工作中,我们经常要使用到一些开源工具包,比如String,Date等等。有时候我们并不清楚有这些工具类的存在,造成在开发过程中重新实现导致时间浪费,且开发的代码质量不佳。而apache其实已经提供了系列的工具包给我们使用,只是大多数人,平时没有注意到。我们从使用最多的org.apache.commons.lang3这个jar包开始讲起,lang3这个开源jar包在真实工作中,算是使用最多,运用最广的一个开源包。如何我们彻底的掌握这个包的使用,那么必然

qq_43842093的博客 2万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Apache Commons Lang 使用

1、诞生背景 由于标准的Java库无法提供用于操纵其核心类的足够方法。Apache Commons Lang提供了这些额外的方法工具。 Lang为java.lang API提供了许多帮助程序实用程序,特别是字符串操作方法,基本数值方法,对象反射,并发,创建和序列化以及系统属性。此外,它还包含对java.util.Date的基本增强,以及一系列专用于构建方法的实用程序,例如hashCode,toString和equals。 2、引入方案,maven引入方式 <!-- https://mvnreposit

weixin_43102784的博客 2296

Apache Commons Lang3 和 Commons Net 详解

Apache Commons Lang3 是 Apache Commons 项目中的一个工具库,提供了许多与 Java 核心类库相关的扩展功能,例如字符串处理、日期操作、对象工具等。它是 Java 开发中常用的工具库之一。Commons Net 是 Apache Commons 项目中的一个网络工具库,提供了许多与网络协议相关的实现,例如 FTP、SMTP、POP3 等。它简化了网络编程的复杂性,帮助开发者快速实现网络功能。优点:提供了丰富的工具类,简化了 Java 开发中的常见操作。适用场景。

技术分享 1376

Commons-lang3

常用工具类commons-lang3的学习使用-优快云博客apache提供的众多commons工具包,号称Java第二API,而common里面lang3包更是被我们使用得最多的。因此本文主要详细讲解lang3包里面几乎每个类的使用,希望以后大家使用此工具包。BeanUtils提供对Java反射和自省API的包装,其主要目的是利用反射机制对JavaBean的属性进行处理,简化JavaBean封装数据的操作。好处: BeanUtils给对象封装参数的时候会进行类型自动转换。

lzping_719的专栏 820

Apache Commons Lang 使用教程

Apache Commons Lang 是一个开源项目,旨在为 Java 核心类库提供额外的辅助方法。它包含了许多用于字符串操作、基本数值处理、对象反射、并发、创建和序列化以及系统属性的实用工具。此外,它还增强了 `java.util.Date` 类,并提供了一系列帮助构建方法,如 `hashCode`、`toString` 和 `equals`。 ## 项目快速启动 要开始使用 Apache ...

gitblog_00013的博客 626

commons-lang使用

跟java.lang这个包的作用类似,Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等。   这一组API的所有包名都以org.apache.commons.lang开头,共有如下8个包:   org.apache.comm

jiutianhe的专栏 2978

commons-lang常用方法

maven引入 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> </dependency> 跟...

少说,多做。 3030

【六袆 - apache】commons-lang & commons-lang3 的区别;CharSequence& String的区别;StringUtils的工具类

CharSequence& String的区别

六祎的博客 2696

[maven] 导入不了org.apache.commons/commons-lang

因为要使用StringUtils,但是一直没找找到jar包,找不到相关依赖,最后只发现了如下: org.apache.commons.lang3.StringUtils 这个包就可以顶替 org.apache.commons.lang.StringUtils 所以在pom添加如下依赖就可以: <dependency> <groupId>org.apache.co...

qq_39397165的博客 3809
上一篇: commons-lang介绍
下一篇: BoneCP 学习笔记
架构师的清醒
博客等级 码龄14年 291粉丝 397原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值