Java基础-常用API-开发常用工具类

Apache Commons

commons-beanutils包:用于处理JavaBean相关操作,最常见的就是属性复制。如 BeanUtils.copyProperties()、ProperUtils.copyProperties()

commons-lang包:如:StringUtils

commons-io包:简化IO操作,如:IOUtils

commons-collections包:简化集合操作,如:CollectionUtils

commons-fileupload包:处理文件上传相关操作

lombok

通过注解简化Java代码编写,使代码看起来更简洁。可以自动生成类的getter、setter、toString、hashcode、equals、构造器等

常用注解

@Getter、@Setter:为属性自动生成getter、setter方法

@NoArgsConstructor:生成无参构造器

@AllArgsConstructor:生成包含所有属性的构造器

@Data:生成getter、setter、hashcode、equals、toString方法

其它功能注解

@Slf4j 注入log日志对象

@NonNull 非空检查

Google Guava

Optional类:避免空指针

MoreObjects工具类:作为java.util.Objects类的扩展,

字符串操作,如split、join等操作

函数式编程

描述 地址 注释
HTTP请求工具类 附件浏览器 HTTPUtil.java
java连接Linux工具类 附件浏览器 JscheUtils.txt
Redis分布式锁:互斥性、同一性、可重入性 附件浏览器 RedisLockV2.txt
字符串操作工具类 org.apache.commons.lang3.StringUtils isBlank:字符串是否为空 (trim后判断) isEmpty:字符串是否为空 (不trim并判断) equals:字符串是否相等 join:合并数组为单一字符串,可传分隔符 split:分割字符串 EMPTY:返回空字符串 replace:替换字符串 capitalize:首字符大写
字符串操作工具类 https://blog.csdn.net/baidu_25310663/article/details/46046693
数组操作工具类 java.util.Arrays 阿里巴巴java开发规范说到使用工具类Arrays.asList()方法把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportedOperationException()。
数组操作工具类 https://blog.csdn.net/baidu_25310663/article/details/84992176
Json字符串操作工具类 附件浏览器 JsonUtil.txt
IO流操作 org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块 toString:转换IO流、 Uri、 byte[]为String copy:IO流数据复制,从输入流写到输出流中,最大支持2GB toByteArray:从输入流、URI获取byte[] write:把字节. 字符等写入输出流 toInputStream:把字符转换为输入流 readLines:从输入流中读取多行数据,返回List copyLarge:同copy,支持2GB以上数据的复制 lineIterator:从输入流返回一个迭代器,根据参数要求读取的数据量,全部读取,如果数据不够,则失败
file操作 org.apache.commons.io.FileUtils deleteDirectory:删除文件夹 readFileToString:以字符形式读取文件内容 deleteQueitly:删除文件或文件夹且不会抛出异常 copyFile:复制文件 writeStringToFile:把字符写到目标文件,如果文件不存在,则创建 forceMkdir:强制创建文件夹,如果该文件夹父级目录不存在,则创建父级 write:把字符写到指定文件中 listFiles:列举某个目录下的文件(根据过滤器) copyDirectory:复制文件夹 forceDelete:强制删除文件
fileName org.apache.commons.io.FilenameUtils getExtension:返回文件后缀名 getBaseName:返回文件名,不包含后缀名 getName:返回文件全名 concat:按命令行风格组合文件路径(详见方法注释) removeExtension:删除后缀名 normalize:使路径正常化 wildcardMatch:匹配通配符 seperatorToUnix:路径分隔符改成unix系统格式的,即/ getFullPath:获取文件路径,不包括文件名 isExtension:检查文件后缀名是不是传入参数(List)中的一个
字符串加密 org.apache.commons.codec.digest.DigestUtils md5Hex:MD5加密,返回32位字符串 sha1Hex:SHA-1加密 sha256Hex:SHA-256加密 sha512Hex:SHA-512加密 md5:MD5加密,返回16位字符串
集合操作 org.apache.commons.collections.CollectionUtils isEmpty:是否为空 select:根据条件筛选集合元素 transform:根据指定方法处理集合元素,类似List的map() filter:过滤元素,雷瑟List的filter() find:基本和select一样 collect:和transform 差不多一样,但是返回新数组 forAllDo:调用每个元素的指定方法 isEqualCollection:判断两个集合是否一致
配置类属性操作 org.apache.commons.beanutils.PropertyUtils getProperty:获取对象属性值 setProperty:设置对象属性值 getPropertyDiscriptor:获取属性描述器 isReadable:检查属性是否可访问 copyProperties:复制属性值,从一个对象到另一个对象 getPropertyDiscriptors:获取所有属性描述器 isWriteable:检查属性是否可写 getPropertyType:获取对象属性类型
数组操作 org.apache.commons.lang3.ArrayUtils contains:是否包含某个字符串 addAll:添加整个数组 clone:克隆一个数组 isEmpty:是否空数组 add:向数组添加元素 subarray:截取数组 indexOf:查找某个元素的下标 isEquals:比较数组是否相等 toObject:基础类型数据数组转换为对应的Object数组
工具类包 https://github.com/looly/hutool Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。

你可能感兴趣的:(Java基础-常用API-开发常用工具类)