Apache Commons

介绍

官网:https://commons.apache.org/

Apache Commons 是一个开源的 Java 项目,旨在提供一组通用的、可复用的 Java 组件。这些组件涵盖了多个领域,包括字符串操作、输入输出、集合操作、数学计算、命令行解析等。

版本

commons-lang commons-lang3 是两个不同的库。尽管它们都与 Apache Commons 有关,但它们是不同的项目,有不同的功能和版本。

  • commons-lang: 是Apache Commons早期的一个语言处理库,用于简化 Java代码。它包含许多有用的工具类,例如字符串操作、数组操作、集合操作等。
  • commons-lang3: 是 commons-lang 的后续版本,也是 Apache Commons的一部分。它提供了许多改进和新功能,并继续致力于简化 Java 代码。这个库是更现代的,并被认为是 commons- ang的替代品。在许多情况下,如果项目需要更新库,开发人员会从 commons-lang 迁移到 commons-lang3

使用

引入依赖

<dependency>
 <groupId>org.apache.commons</groupId>
     <artifactId>commons-lang3</artifactId>
</dependency>

集成与扩展

commons-lang可以与其他的Apache Commons项目很好地结合使用。比如与Commons IO一起使用时,它可以提供文件操作的FileUtils封装。

<dependency>
   <groupId>commons-io</groupId>
     <artifactId>commons-io</artifactId>
   <version>2.13.0</version>
</dependency>

常用包、工具

常用类/工具描述示例用法
commons-langStringUtils提供了字符串处理的工具方法,如空字符串判断、字符串连接、缩进等。StringUtils.isEmpty(str);
NumberUtils提供了处理数字的工具方法,如解析数字、比较数字大小等。NumberUtils.isDigits(str);
ArrayUtils提供了对数组的操作,如添加、删除元素,查找元素等。ArrayUtils.contains(arr, value);
DateUtils提供了日期操作的工具方法,支持日期格式化、解析、计算等。DateUtils.addDays(date, 7);
commons-ioFileUtils提供了文件和目录的操作,如复制文件、删除目录、列出文件等。FileUtils.copyFile(srcFile, destFile);
IOUtils提供了处理输入输出流的工具方法,如关闭流、将流转换为字符串等。IOUtils.toString(inputStream, charset);
FilenameUtils提供了对文件名的处理,如获取文件扩展名、合并路径等。FilenameUtils.getExtension(filename);
commons-collectionsCollectionUtils提供了集合操作的工具方法,如合并集合、查找元素等。CollectionUtils.union(list1, list2);
MapUtils提供了对 Map 的一些操作,如转换 Map 为字符串、获取默认值等。MapUtils.getString(map, key,defaultValue);
commons-beanutilsBeanUtils提供了对 Java Bean 的操作,如复制属性、获取属性值等。CommandLineParserparser = new DefaultParser();
CommandLine cmd = parser.parse(options, args);
commons-cliCommandLine提供了命令行解析的工具,用于解析命令行参数。CommandLineParser parser = newDefaultParser();
CommandLine cmd =parser.parse(options, args);
commons-mathMathUtils提供了一些数学相关的工具方法,如阶乘、组合等。MathUtils.factorial(5);
commons-codecDigestUtils提供了消息摘要算法的工具方法,如 MD5、SHA 等。DigestUtils.md5Hex(data);
Base64提供了 Base64 编码解码的工具方法。Base64.encodeBase64String(data);
commons-validatorValidator提供了一些验证输入数据的工具方法,如邮箱格式验证、URL 验证等。Validator.isEmail(email);

学习资源

继续深入了解commons-lang,你可以参考以下资源:

官方文档: https://commons.apache.org/proper/commons-lang/
GitHub 仓库: https://github.com/apache/commons-lang
各种技术博客、教程和在线课程
掌握 Apache Commons Lang确实可以让Java开发变得更加高效和愉快。希望这篇文章能够作为你使用这个库的起点。

commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE.txtMETA-INF/NOTICE.txtorg.apache.commons.lang.ArrayUtils.class org.apache.commons.lang.BitField.class org.apache.commons.lang.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet.class org.apache.commons.lang.CharSetUtils.class org.apache.commons.lang.CharUtils.class org.apache.commons.lang.ClassUtils.class org.apache.commons.lang.Entities$ArrayEntityMap.class org.apache.commons.lang.Entities$BinaryEntityMap.class org.apache.commons.lang.Entities$EntityMap.class org.apache.commons.lang.Entities$HashEntityMap.class org.apache.commons.lang.Entities$LookupEntityMap.class org.apache.commons.lang.Entities$MapIntMap.class org.apache.commons.lang.Entities$PrimitiveEntityMap.class org.apache.commons.lang.Entities$TreeEntityMap.class org.apache.commons.lang.Entities.class org.apache.commons.lang.IllegalClassException.class org.apache.commons.lang.IncompleteArgumentException.class org.apache.commons.lang.IntHashMap$Entry.class org.apache.commons.lang.IntHashMap.class org.apache.commons.lang.LocaleUtils.class org.apache.commons.lang.NotImplementedException.class org.apache.commons.lang.NullArgumentException.class org.apache.commons.lang.NumberRange.class org.apache.commons.lang.NumberUtils.class org.apache.commons.lang.ObjectUtils$Null.class org.apache.commons.lang.ObjectUtils.class org.apache.commons.lang.RandomStringUtils.class org.apache.commons.lang.SerializationException.class org.apache.commons.lang.SerializationUtils.class org.apache.commons.lang.StringEscapeUtils.class org.apache.commons.lang.StringUtils.class org.apache.commons.lang.SystemUtils.class org.apache.commons.lang.UnhandledException.class org.apache.commons.lang.Validate.class org.apache.commons.lang.WordUtils.class org.apache.commons.lang.builder.CompareToBuilder.class org.apache.commons.lang.builder.EqualsBuilder.class org.apache.commons.lang.builder.HashCodeBuilder.class org.apache.commons.lang.builder.ReflectionToStringBuilder$1.class org.apache.commons.lang.builder.ReflectionToStringBuilder.class org.apache.commons.lang.builder.StandardToStringStyle.class org.apache.commons.lang.builder.ToStringBuilder.class org.apache.commons.lang.builder.ToStringStyle$DefaultToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$MultiLineToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$NoFieldNameToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$ShortPrefixToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$SimpleToStringStyle.class org.apache.commons.lang.builder.ToStringStyle.class org.apache.commons.lang.enum.Enum$Entry.class org.apache.commons.lang.enum.Enum.class org.apache.commons.lang.enum.EnumUtils.class org.apache.commons.lang.enum.ValuedEnum.class org.apache.commons.lang.enums.Enum$Entry.class org.apache.commons.lang.enums.Enum.class org.apache.commons.lang.enums.EnumUtils.class org.apache.commons.lang.enums.ValuedEnum.class org.apache.commons.lang.exception.ExceptionUtils.class org.apache.commons.lang.exception.Nestable.class org.apache.commons.lang.exception.NestableDelegate.class org.apache.commons.lang.exception.NestableError.class org.apache.commons.lang.exception.NestableException.class org.apache.commons.lang.exception.NestableRuntimeException.class org.apache.commons.lang.math.DoubleRange.class org.apache.commons.lang.math.FloatRange.class org.apache.commons.lang.math.Fraction.class org.apache.commons.lang.math.IntRange.class org.apache.commons.lang.math.JVMRandom.class org.apache.commons.lang.math.LongRange.class org.apache.commons.lang.math.NumberRange.class org.apache.commons.lang.math.NumberUtils.class org.apache.commons.lang.math.RandomUtils.class org.apache.commons.lang.math.Range.class org.apache.commons.lang.mutable.Mutable.class org.apache.commons.lang.mutable.MutableBoolean.class org.apache.commons.lang.mutable.MutableByte.class org.apache.commons.lang.mutable.MutableDouble.class org.apache.commons.lang.mutable.MutableFloat.class org.apache.commons.lang.mutable.MutableInt.class org.apache.commons.lang.mutable.MutableLong.class org.apache.commons.lang.mutable.MutableObject.class org.apache.commons.lang.mutable.MutableShort.class org.apache.commons.lang.text.CompositeFormat.class org.apache.commons.lang.text.StrBuilder$StrBuilderReader.class org.apache.commons.lang.text.StrBuilder$StrBuilderTokenizer.class org.apache.commons.lang.text.StrBuilder$StrBuilderWriter.class org.apache.commons.lang.text.StrBuilder.class org.apache.commons.lang.text.StrLookup$MapStrLookup.class org.apache.commons.lang.text.StrLookup.class org.apache.commons.lang.text.StrMatcher$CharMatcher.class org.apache.commons.lang.text.StrMatcher$CharSetMatcher.class org.apache.commons.lang.text.StrMatcher$NoMatcher.class org.apache.commons.lang.text.StrMatcher$StringMatcher.class org.apache.commons.lang.text.StrMatcher$TrimMatcher.class org.apache.commons.lang.text.StrMatcher.class org.apache.commons.lang.text.StrSubstitutor.class org.apache.commons.lang.text.StrTokenizer.class org.apache.commons.lang.time.DateFormatUtils.class org.apache.commons.lang.time.DateUtils$DateIterator.class org.apache.commons.lang.time.DateUtils.class org.apache.commons.lang.time.DurationFormatUtils$Token.class org.apache.commons.lang.time.DurationFormatUtils.class org.apache.commons.lang.time.FastDateFormat$CharacterLiteral.class org.apache.commons.lang.time.FastDateFormat$NumberRule.class org.apache.commons.lang.time.FastDateFormat$PaddedNumberField.class org.apache.commons.lang.time.FastDateFormat$Pair.class org.apache.commons.lang.time.FastDateFormat$Rule.class org.apache.commons.lang.time.FastDateFormat$StringLiteral.class org.apache.commons.lang.time.FastDateFormat$TextField.class org.apache.commons.lang.time.FastDateFormat$TimeZoneDisplayKey.class org.apache.commons.lang.time.FastDateFormat$TimeZoneNameRule.class org.apache.commons.lang.time.FastDateFormat$TimeZoneNumberRule.class org.apache.commons.lang.time.FastDateFormat$TwelveHourField.class org.apache.commons.lang.time.FastDateFormat$TwentyFourHourField.class org.apache.commons.lang.time.FastDateFormat$TwoDigitMonthField.class org.apache.commons.lang.time.FastDateFormat$TwoDigitNumberField.class org.apache.commons.lang.time.FastDateFormat$TwoDigitYearField.class org.apache.commons.lang.time.FastDateFormat$UnpaddedMonthField.class org.apache.commons.lang.time.FastDateFormat$UnpaddedNumberField.class org.apache.commons.lang.time.FastDateFormat.class org.apache.commons.lang.time.StopWatch.class
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奇遇少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值