必须熟悉的常用库
文章平均质量分 61
尽量不要重复造轮子,对于常用的库:JDK、guava、apache.commons系列等要做到烂熟于新。
寒咏哥
不忘初心,方得终始
展开
-
RangeMap 类 - Google Guava
一、RangeMap简介RangeMap是一种集合类型(collection type),它将不相交、且不为空的 Range(key)映射给一个值(Value)。和RangeSet不一样,RangeMap不可以将相邻的区间合并,即使这个区间映射的值是一样的。和 RangeSet 一样,实现 RangeMap 也是一个接口,实现它的也只有两个类,分别为mmutableRangeMap和TreeRangeMap。用的多的还是TreeRangeMap,下面主要以TreeRangeMap来...原创 2021-05-29 22:24:52 · 1307 阅读 · 0 评论 -
Bimap 双向关联的数据结构类 - Google Guava
一、Bimap简介BiMap继承于Map, 它的键(Key)和值(Value)都唯一二、常用方法修饰符和类型 方法描述 V forcePut(K key, V value) 强制在BiMap中放入具有相同value值的键值对. BiMap<V,K> inverse() 进行键值对的反转,返回BiMap的一种双向映射关系,所有对最初的BiMap的操作都会影响关联后的BiMap,同样的,对关联后BiMap的操作也...原创 2021-05-29 22:18:15 · 444 阅读 · 0 评论 -
Multiset 集合类 - Google Guava
一、Multiset简介在JDK中,List和Set有一个基本的区别,就是 List 可以包含多个相同对象,且是有顺序的,而 Set 不能有重复,且不保证顺序(有些实现有顺序,例如LinkedHashSet和SortedSet等)所以Multiset占据了List和Set之间的一个灰色地带:允许重复,但是不保证顺序。事实上,Multiset 并没有实现java.util.Set接口,它更像是一个 Bag。普通的 Set 就像这样:[car, ship, bike],而 Mul...原创 2021-05-29 22:13:00 · 162 阅读 · 0 评论 -
计时器 StopWatch 类 - Google Guava
一、StopWatch 简介StopWatch用来计算经过的时间(精确到纳秒)二、常用方法官方文档:https://google.github.io/guava/releases/27.0.1-jre/api/docs/com/google/common/base/Stopwatch.html方法类型 方法描述 static Stopwatch createStarted() 创建启动一个新的stopwatch对象,用的是System.nanoTim...原创 2021-05-29 22:13:10 · 2483 阅读 · 0 评论 -
异常传播 Throwables 类 - Google Guava
一、Throwables 类简介Throwable 类,简化异常和错误的传播与检查二、常用方法官方文档:https://google.github.io/guava/releases/27.0.1-jre/api/docs/com/google/common/base/Throwables.html方法类型 方法描述 static List<Throwable> getCausalChain(Throwable throwable) 获取一..原创 2021-05-29 22:13:19 · 708 阅读 · 0 评论 -
Ordering 排序类 - Google Guava
一、Ordering排序类简介排序器Ordering是 Guava流畅风格比较器Comparator的实现,它可以用来为构建复杂的比较器,以完成集合排序的功能。从实现上说,Ordering 实例就是一个特殊的 Comparator 实例。Ordering 把很多基于 Comparator 的静态方法(如Collections.max)包装为自己的实例方法(非静态方法),并且提供了链式调用方法,来定制和增强现有的比较器。二、常用方法1. 创建排序器:常见的排序器可以由下面的...原创 2021-05-29 22:13:30 · 455 阅读 · 0 评论 -
【单词的操作】 WordUtils
WordUtils 介绍一、官方API地址官网地址:WordUtils.html二、WordUtils 常用API1.导入POM文件这里使用的是:3.9 的版本,还是比较新的<dependency><groupId>org.apache.commons</groupId><artifa...原创 2021-05-08 20:29:25 · 1135 阅读 · 0 评论 -
【MD5加密】DigestUtils
spring常用工具类,引入spring即可使用都是MD5加密的方法,但是返回的结果和入参不一样byte[] md5Digest(byte[] bytes)byte[] md5Digest(InputStream inputStream)String md5DigestAsHex(byte[] bytes)String md5DigestAsHex(InputStr...原创 2021-05-12 13:26:35 · 864 阅读 · 1 评论 -
【class路径工具】ClassPathUtils
这里使用的是:3.9 的版本,还是比较新的<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.9</version></dep...原创 2021-05-05 20:05:28 · 334 阅读 · 0 评论 -
【注解工具类】AnnotationUtils
这里使用的是:3.9 的版本,还是比较新的<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.9</version></dep...原创 2021-05-05 20:04:48 · 702 阅读 · 0 评论 -
【构造工具类】ConstructorUtils
这里使用的是:3.9 的版本,还是比较新的<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.9</version></dep...原创 2021-05-05 20:05:15 · 309 阅读 · 0 评论 -
【递归复制、删除目录(文件)】FileSystemUtils
spring常用工具类,引入spring即可使用boolean deleteRecursively(@Nullable File root) 删除文件boolean deleteSuccess = FileSystemUtils.deleteRecursively(new File("D:\\fileTest\\b\\新建文件夹\\shuihe.sql"));System.out...原创 2021-05-08 20:29:13 · 1833 阅读 · 0 评论 -
【文件拷贝】FileCopyUtils
spring常用工具类,引入spring即可使用FileCopyUtils 提供了多个将文件内容拷贝到各种目标对象中的方法int copy(File in, File out)将文件拷贝到另一个文件中void copy(byte[] in, File out)将 byte[] 拷贝到一个文件中byte[] copyToByteArray(File in) 将...原创 2021-05-05 20:05:56 · 1941 阅读 · 3 评论 -
【数字工具类】NumberUtils
常量:public static final Set<Class<?>> STANDARD_NUMBER_TYPES;static { Set<Class<?>> numberTypes = new HashSet<>(8); numberTypes.add(Byte.class); numberType...原创 2021-05-06 12:34:01 · 885 阅读 · 0 评论 -
【查找空闲端口】SocketUtils
提供给我们去系统找可用的Tcp、Udp端口来使用。有的时候确实还蛮好用的,必进端口有时候不用写死了,提高灵活性端口的范围在1024-65535之间:/*** The default minimum value for port ranges used when finding an available* socket port.*/public static final int ...原创 2021-05-06 12:34:12 · 1701 阅读 · 0 评论 -
【Base64编码,解码】Base64Utils
spring常用工具类,引入spring即可使用Base64Utilsbyte[] encode(byte[] src) 字节数组编码后并返回byte[] decode(byte[] src)字节数组解码后并返回String encodeToString(byte[] src)字节数组编码后并返回字符串byte[] decodeFromString(String...原创 2021-05-06 12:34:27 · 4518 阅读 · 0 评论 -
【方法工具类】MethodUtils
这里使用的是:3.9 的版本,还是比较新的<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.9</version></dep...原创 2021-05-08 20:30:46 · 2530 阅读 · 0 评论 -
【类字段工具类】FieldUtils
Field getField(Class<?> cls, String fieldName) 获取指定字段名的公共字段,包括继承/实现的公共的字段Field getField(final Class<?> cls, String fieldName, boolean forceAccess)获取指定字段名的字段(无论私有还是公共),包括继承/实现的公共的或私有的字段...原创 2021-05-06 12:34:48 · 5558 阅读 · 0 评论 -
【语言环境】LocalUtils
Locale toLocale(String str) 将字符传转换为LocalLocaleUtils.toLocale("en") = new Locale("en", "")LocaleUtils.toLocale("en_GB") = new Locale("en", "GB")LocaleUtils.toLocale("en_GB_xxx") = new Locale("en",...原创 2021-05-06 12:34:38 · 582 阅读 · 0 评论 -
【注解工具类】AnnotationUtils
这个工具类里面公共方法只有一个isValidAnnotationMemberType(Class<?> type) 检测是否为有效的类型() 基本类型、枚举、注解、封装的String、ClassAnnotationUtils.isValidAnnotationMemberType(short.class); // 基本类型 trueAnnotationUtils.i...原创 2021-05-06 12:35:17 · 765 阅读 · 0 评论 -
【序列化工具类】 SerializationUtils
用于处理对象序列化,提供比一般Java序列化更高级的处理能力<T extends Serializable> T clone(final T object) 使用序列化深度克隆QcTemplateData qcTemplateData = new QcTemplateData();qcTemplateData.setToken("123");List<Q...原创 2021-05-10 21:43:27 · 3512 阅读 · 0 评论 -
【枚举工具类】EnumUtils
EnumUtils 介绍一、官方API地址官网地址:EnumUtils.html二、EnumUtils 常用API1.导入POM文件这里使用的是:3.9 的版本,还是比较新的<dependency><groupId>org.apache.commons</groupId><artifa...原创 2021-05-06 12:35:01 · 3548 阅读 · 0 评论 -
【布尔工具类】BooleanUtils
BooleanUtils 介绍一、官方API地址 官网地址:BooleanUtils.html二、BooleanUtils 常用API1.导入POM文件 这里使用的是:3.9 的版本,还是比较新的<dependency> <groupId>org.apache...原创 2021-05-08 20:30:03 · 3046 阅读 · 0 评论 -
【数字工具类】NumberUtils
NumberUtils.compare => 比较两个数的大小,参数1比参数2大,返回1,否则返回-1System.out.println(NumberUtils.compare(1, 2)); // -1NumberUtils.createInteger => 通过字符串创建IntegerSystem.out.println(NumberUtils.crea...原创 2021-05-10 21:45:53 · 5133 阅读 · 0 评论 -
【日期格式化】DateFormatUtils
[ 常量 ]private static final TimeZone UTC_TIME_ZONE = FastTimeZone.getGmtTimeZone();public static final FastDateFormat ISO_8601_EXTENDED_DATETIME_FORMAT = FastDateFormat.getInstance("yyyy-M...原创 2021-05-08 20:32:12 · 2087 阅读 · 0 评论 -
【系统配置获取】SystemUtils
SystemUtils.getUserDir => 获取用户目录,返回FileFile userDir = SystemUtils.getUserDir();System.out.println(userDir);SystemUtils.getUserHome => 获取获取用户主目录,返回FileFile userHome = SystemUtils.getU...原创 2021-05-08 20:30:34 · 1904 阅读 · 0 评论 -
【Class工具类】ClassUtils
ClassUtils 介绍一、官方API地址 官网地址:ClassUtils.html二、ClassUtils 常用API1.导入POM文件 这里使用的是:3.9的版本,还是比较新的<dependency> <groupId>org.apache.commons</groupI...原创 2021-05-06 12:35:31 · 1879 阅读 · 0 评论 -
【Object工具类】ObjectUtils
ObjectUtils 介绍一、官方API地址 官网地址:ObjectUtils.html二、ObjectUtils 常用API1.导入POM文件 这里使用的是:3.9 的版本,还是比较新的<dependency> <groupId>org.apache.co...原创 2021-05-06 12:35:44 · 10416 阅读 · 4 评论 -
FastJson常用方法
[ 对象序列化为Json字符串]String jsonString = JSON.toJSONString(object); [解析为 JavaBean ]Cl...原创 2021-05-08 20:31:14 · 324 阅读 · 0 评论 -
RandomUtils常用方法 - commons.lang.math常用工具类
RandomUtils.nextInt => 生成 0 - Integer.MAX_VALUE 范围的随机数System.out.println(RandomUtils.nextInt());RandomUtils.nextInt => 生成 1000 - 100000 范围的随机数System.out.println(RandomUtils.nextInt(10...原创 2021-05-10 21:45:41 · 6181 阅读 · 0 评论 -
【数组工具类】ArrayUtils
[ commons.lang3 ] ArrayUtils数组工具类常量public static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];public static final Class<?>[] EMPTY_CLASS_ARRAY = new Class[0];public static final St...原创 2021-05-10 21:44:30 · 1173 阅读 · 0 评论 -
FilenameUtils常用方法 - commons.io常用工具类
[ 常用方法 ]String directory = "C://Users/han/Desktop/新建文件夹";String fileName = "文本ABC.txt";String fileName2 = "文本abc.txt";String filePath = directory + "/" + fileName;FilenameUtils.concat =>...原创 2021-05-10 21:45:11 · 2575 阅读 · 0 评论 -
BeanCopier常用方法 - cglib.beans常用工具类
BeanCopier是Cglib包中的一个类,用于对象的复制。① 第一种两个bean间属性名和类型完全相同的变量进行拷贝 Service层public interface SysUserService { /** * 新增用户数据 * @param sysUserBO * @return */ In...原创 2021-05-08 20:31:57 · 2364 阅读 · 0 评论 -
【随机字符串】RandomStringUtils
RandomStringUtils.random(int count) => 产生6位长度的随机字符串,中文环境下是乱码System.out.println(RandomStringUtils.random(6));RandomStringUtils.random(int count, String chars) => 产生6位长度的随机字符串,字符将从字符串指定的字符集中选...原创 2021-05-06 12:35:56 · 3355 阅读 · 0 评论 -
【日期工具类】DateUtils
[ 常量 ]public static final long MILLIS_PER_SECOND = 1000;public static final long MILLIS_PER_MINUTE = 60 * MILLIS_PER_SECOND;public static final long MILLIS_PER_HOUR = 60 * MILLIS_PER_MINUTE;p...原创 2021-05-10 21:46:09 · 7997 阅读 · 2 评论 -
CollectionUtils常用方法 - commons.collections常用工具类
addAll添加数组数据到集合String[] strArray = {"aaa", "bbb", "ccc"};List strList = new ArrayList();CollectionUtils.addAll(strList, strArray);▶ Examples[aaa, bbb, ccc]addAll添加集合数据到另一个集合List&...原创 2021-05-08 20:30:20 · 5368 阅读 · 0 评论 -
FileUtils常用方法 - commons-io常用工具类
[ 常量 ]public static final long ONE_KB = 1024;public static final BigInteger ONE_KB_BI = BigInteger.valueOf(ONE_KB);public static final long ONE_MB = ONE_KB * ONE_KB;public static final Big...原创 2021-05-10 21:46:29 · 2751 阅读 · 3 评论 -
Optional使用和避免Null - Google Guava
Guava Optional 类Optional 用于包含非空对象的不可变对象。 Optional对象,用于不存在值表示null。这个类有各种实用的方法,以方便代码来处理为可用或不可用,而不是检查null值。常用方法方法类型 方法描述 static<T>Optional<T> absent() 返回没有包含引用的Optio...原创 2021-05-12 13:29:01 · 1346 阅读 · 2 评论 -
Preconditions前置条件 - Google Guava
Guava Preconditions类前置条件:让方法调用的前置条件判断更简单,可以简单理解为 guava 提供的 assert 断言。Guava 在 Preconditions 类中提供了若干前置条件判断的实用方法,每个方法都有三个变种:没有额外参数:抛出的异常中没有错误消息; 有一个 Object 对象作为额外参数:抛出的异常使用 Object.toString() 作为...原创 2021-05-12 13:24:34 · 630 阅读 · 1 评论 -
MacUtils 获取mac地址
package com.hanyong.utils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;/** * MacUtil * * @Author: hanYong * @CreateTime: 2019-08-31 */publi...原创 2021-05-12 13:24:58 · 328 阅读 · 0 评论