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整体包结构及各个包的作用: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扩展集合
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
类提供各种操作集合的实用静态方法。CollectionUtils
的addIgnoreNull()
方法可用于确保只有非空(null)值被添加到集合中。
List<String> list = new LinkedList<>();
CollectionUtils.addIgnoreNull(list, null);
CollectionUtils.addIgnoreNull(list, "a");
上一篇: Apache Commons Pool2 源码分析
下一篇: Python for 循环语句