欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java开发 之Apache Commons工具包

程序员文章站 2022-06-21 18:22:39
...

Maven依赖

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

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.4</version>
</dependency>

简介

Apache Commons包是Java中使用最广泛的工具包,它提供了常用的一些编程需要的工具类。
Commons Collections增强了Java集合框架。

lang3整体包结构及各个包的作用:
Java开发 之Apache Commons工具包
org.apache.commons.lang3这个包下提供了很多有用的包含static方法的Util类:

  • ArrayUtils: 用于对数组的操作,如添加、查找、删除、子数组、倒序、元素类型转换等;
  • BitField: 用于操作位元,提供了一些方便而安全的方法;
  • BooleanUtils: 用于操作和转换 boolean 或者 Boolean 及相应的数组;
  • CharEncoding: 包含了 Java 环境支持的字符编码,提供是否支持某种编码的判断;
  • CharRange: 用于设定字符范围并做相应检查;
  • CharSet: 用于设定一组字符作为范围并做相应检查;
  • CharSetUtils: 用于操作 CharSet ;
  • CharUtils: 用于操作 char 值和 Character 对象;
  • ClassUtils: 用于对 Java 类的操作,不使用反射;
  • ObjectUtils: 用于操作 Java 对象,提供 null 安全的访问和其他一些功能;
  • RandomStringUtils: 用于生成随机的字符串;
  • SerializationUtils: 用于处理对象序列化,提供比一般 Java 序列化更高级的处理能力;
  • StringEscapeUtils: 用于正确处理转义字符,产生正确的 Java 、 JavaScript 、 HTML 、 XML和 SQL 代码;
  • StringUtils: 处理 String 的核心类,提供了相当多的功能;
  • SystemUtils: 在 java.lang.System 基础上提供更方便的访问,如用户路径、 Java 版本、时区、操作系统等判断;
  • Validate: 提供验证的操作,有点类似 assert 断言;
  • WordUtils: 用于处理单词大小写、换行等。

Apache扩展集合

Commons Collections易百教程

Bag

继承Collection,它可以计算一个对象出现在集合中的次数。
参考

BidiMap

支持双向映射,可以使用值查找键,并且可以使用键轻松查找值。

IterableMap

Apache扩展的Map,支持Map的迭代器。

IterableMap<Integer, Integer> iterableMap = new HashedMap<>();
iterableMap.put(1, 2);
iterableMap.put(3, 4);
MapIterator<Integer, Integer> iterator = iterableMap.mapIterator();
while (iterator.hasNext()){
    Integer key = iterator.next();
    Integer value = iterator.getValue();
    iterator.setValue(value + 10);
}

OrderedMap

Apache扩展的Map,支持Map的迭代器,并允许在Map中向前或向后两个方向进行迭代。

OrderedMap<String, String> map = new LinkedMap<>();
map.put("One", "1");
map.put("Two", "2");
map.put("Three", "3");
System.out.println(map.firstKey());
System.out.println(map.nextKey("One"));
System.out.println(map.nextKey("Two"));

CollectionUtils集合工具类

CollectionUtils类提供各种操作集合的实用静态方法。
CollectionUtilsaddIgnoreNull()方法可用于确保只有非空(null)值被添加到集合中。

List<String> list = new LinkedList<>();
CollectionUtils.addIgnoreNull(list, null);
CollectionUtils.addIgnoreNull(list, "a");