第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > apache-commons 常用工具类

apache-commons 常用工具类

时间:2020-05-12 22:06:08

相关推荐

apache-commons 常用工具类

引用包说明

本文引用的所有包如下

<dependency><groupId>mons</groupId><artifactId>commons-lang3</artifactId><version>3.4</version></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.1</version></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.3</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.3.6.RELEASE</version></dependency>

常用工具类介绍

下面每个块的工具都是按我的使用频率排序的。

字符串处理

import mons.lang3.StringUtils;boolean StringUtils.isBlank(str); // " " 为 trueboolean StringUtils.isEmpty(str); // " " 为 falseboolean StringUtils.isNotBlank(str);boolean StringUtils.isNotEmpty(str);String[] StringUtils.split(str,char/String,max);//切割字符串,使用给定字符 ; max 主要是用来处理空内容的String StringUtils.capitalize(str); //首字母大写String StringUtils.uncapitalize(str); //首字母小写boolean StringUtils.isNumeric(str);boolean StringUtils.isNumericSpace(str); // "" 为true "12 3" 为 trueString StringUtils.join(array/Iterable,chat/String); // 类似于 js 的 join ,使用给定字符拼接数组或集合中的元素String StringUtils.leftPad(str,size,padChar); //给左边拼接固定长度的字符String StringUtils.rightPad(str,size,padChar); //右边拼接固定长度的字符

格式化信息

import mons.lang3.time.DateFormatUtils;import mons.lang3.time.DurationFormatUtils;import mons.lang3.builder.ToStringBuilder;import mons.lang3.builder.ToStringStyle;DateFormatUtils.format(Date/Calendar/long,pattern);DateFormatUtils.ISO_DATE_FORMAT.format(Date/Calendar/long); // yyyy-MM-ddDateFormatUtils.ISO_TIME_NO_T_FORMAT.format(Date/Calendar/long);// HH:mm:ssDurationFormatUtils.formatDuration(long,format); //格式化毫秒值为指定格式// 用于实体类 param,po,dto,vo@Overridepublic String toString() {return ToStringBuilder.reflectionToString(this,ToStringStyle.SHORT_PREFIX_STYLE);}

集合和数组的处理

import mons.lang3.ArrayUtils;import mons.collections.CollectionUtils;boolean ArrayUtils.isEmpty(Array);boolean ArrayUtils.isNotEmpty(Array);boolean CollectionUtils.isEmpty(Collection);boolean CollectionUtils.isNotEmpty(Collection);Collection CollectionUtils.union(a,b); //并集Collection CollectionUtils.intersection(a,b); //交集Collection CollectionUtils.disjunction(a,b); //补集Collection CollectionUtils.subtract(a,b); //差集

/commons_collections/commons_collections_overview.html

日期处理

import mons.lang3.time.DateUtils;Date DateUtils.parseDate(str,parsePatterns);boolean DateUtils.isSameDay(Date,Date); //判断两个日期是否是同一天Date DateUtils.truncate(Date,field); //日期截取,只取指定日期字段的值Date DateUtils.round(Date,field);// 日期四舍五入,和 truncate 的区别是 如果用 YEAR 当前时间是 -08-18 truncate 的值还是 ,但 round 会得到 Date DateUtils.addDays(Date,amount); //增加一天,这个不会修改原来的日期值还有 addYears,addMonths,addWeeks,addHours,addMinutes,addSeconds,addMillisecondsDate DateUtils.setDays(Date,amount); //设置为本月的第几天还有 setYears,setMonths,setHours,setMinutes,setSeconds,setMilliseconds/*计算已过去的天数,从哪儿开始算呢,根据第2个参数fragment来确定,如现在是-10-23 13:27:00,那么DateUtils.getFragmentInDays(new Date(), Calendar.MONTH)返回23,表示从当月起已经过去23天了,DateUtils.getFragmentInDays(new Date(), Calendar.YEAR)返回296,表示从当年起已经过去296天了,DateUtils.getFragmentInHours(new Date(), Calendar.DATE)返回13,表示从今天起已经过去13个小时了*/long DateUtils.getFragmentInDays(Date,fragment); //计算已经过去的天数

数字的一些处理

import mons.lang3.math.NumberUtils;int NumberUtils.toInt(String);还有 toLong,toDouble,toFloat,toShort 等boolean NumberUtils.isDigits(String); //判断是否全由数字组成 "" 为 falseboolean NumberUtils.isNumber(String); // 支持 0x 类的表达形式

增强反射处理

import mons.lang3.ClassUtils;import mons.lang3.reflect.MethodUtils;import org.springframework.cglib.core.ReflectUtils;import org.springframework.util.ReflectionUtils;Class<?> ClassUtils.getClass(className);boolean ClassUtils.isInnerClass(Class<?>); //是否是内部类boolean ClassUtils.isPrimitiveOrWrapper(Class<?>); //判断是否是原始类型或原始类型的包装类List<Method> MethodUtils.getMethodsListWithAnnotation( Class<?>, Class<? extends Annotation>);Method ReflectionUtils.findMethod(Class<?> clazz,methodName, Class<?>...);PropertyDescriptor[] ReflectUtils.getBeanGetters(Class type);Object MethodUtils.invokeMethod(object,methodName,args[],values[]); //调用方法

IO 流,文件相关方法

import mons.io.IOUtils;import mons.io.FileUtils;import mons.io.FilenameUtils;String IOUtils.toString(InputStream,encoding); //文本文件流读出字符串List<String> IOUtils.readLines(InputStream,encoding); //文本文件读出 List<String>int IOUtils.copy(InputStream, OutputStream);void FileUtils.writeStringToFile(File, String, Charset);void FileUtils.deleteDirectory(File);String FilenameUtils.getBaseName(filename); //获取文件名String FilenameUtils.getExtension(filename); //获取扩展名String FilenameUtils.separatorsToUnix(String path); //转成 linux 路径分隔符

加解密相关

import mons.codec.binary.Base64;import mons.codec.binary.Hex;import mons.codec.digest.DigestUtils;byte[] Base64.encodeBase64(byte []);byte[] Base64.decodeBase64(byte[]);char [] Hex.encodeHex(byte []);byte [] Hex.decodeHex(char []);String DigestUtils.md5Hex(String);String DigestUtils.shaHex(String);

随机数生成

import mons.lang3.RandomUtils;import mons.lang3.RandomStringUtils;int RandomUtils.nextInt(start,end);long RandomUtils.nextLong(start,end);String RandomStringUtils.randomNumeric(count);String RandomStringUtils.randomAlphabetic(count);

其它可以用到的工具

// 秒表import mons.lang3.time.StopWatch;StopWatch stopWatch = new StopWatch();stopWatch.start();stopWatch.getTime();stopWatch.stop();//spring 获取方法参数名称import org.springframework.core.ParameterNameDiscoverer;ParameterNameDiscoverer parameterNameDiscoverer = new LocalVariableTableParameterNameDiscoverer();String[] parameterNames = parameterNameDiscoverer.getParameterNames(method);//spring 用于处理逗号分隔符的字符串列表方法import org.springframework.util.StringUtils;String [] StringUtils.tokenizeToStringArray(String str, String delimiters);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。