JAVA常用工具大全

本文详细介绍了ApacheCommons库中的四个主要组件:commons-lang3的字符串、转义、数字和数组工具,commons-collecions4的集合操作,commons-beanutils的Bean操作,以及commons-io的文件和流操作,展示了这些工具类的强大功能和应用场景。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、commons-lang3

    引入依赖
    StringUtils 字符串工具类
    StringEscapeUtils 转义字符串工具类
    NumberUtils 数字工具类
    ArrayUtils 数组工具类
    RandomUtils 随机数工具类
    RandomStringUtils 随机字符串工具类
    DateUtils 日期工具类
    DateFormatUtils时间格式化
    DurationFormatUtils时间段格式化
    StopWatch 秒表
    EnumUtils 枚举工具类
    反射工具类
            ClassUtils 类工具
            MethodUtils
            FieldUtils
            ConstructorUtils
    ObjectUtils 对象工具类
    SystemUtils 系统属性工具类
    SerializationUtils 序列化工具类
    LocaleUtils 本地工具类

二、commons-collecions4

    引入依赖
    CollectionUtils 集合工具类
    ListUtils-List工具类
    SetUtils-Set集合工具类
    MapUtils-Map工具类

三、commons-beanutils

    引入依赖
    BeanUtils/BeanUtilsBean
    PropertyUtils类

四、commons-io

    引入依赖
    FileUtils 文件操作工具类
    IOUtils 流操作工具类
    FilenameUtils 文件名工具类
    其他工具类

提示:以下是本篇文章正文内容,下面案例可供参考

一、commons-lang3

引入依赖

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

StringUtils 字符串工具类

	包含判断方法:contains/containsXXX 
	字符串替换方法:replace/replaceXXX 
	获取子串:substring/substringXXX 
	判断方法:
	1、isEmpty/isNotEmpty/isBlank/isNotBlank/isNumeric/isWhitespace
	2、sartsWith/startsWithAny/endsWith/endsWithIgnoreCase
	索引(index):indexOf/indexOfXXX/tIndexOf/lastIndexOfXXX
	处理方法:
 	abbreviate 缩短 capitalise 首字母 repeat 重复 left/right/center 左右中间
	removeXXX 移除 trimXXX 去空  reverseXXX 翻转 stripXXX 移除
	defaultXXX 默认 lowerCase/upperCase deleteXXX 删除处理
	splitXXX分解处理 join 拼接

StringEscapeUtils 转义字符串工具类

	StringEscapeUtils类可以对html js xml sql 等代码进行转义来防止SQL注入
	escapeCsv/unescapeCsv/escapeHtml/unescapeHtml/escapeJava/unescapeJava
	escapeJavaScript/unescapeJavaScript/escapeXml/unescapeXml/escapeSql

NumberUtils 数字工具类

创建数字:createXXX  创建Integer,Float,Double,Number,BigDecimal,BigInteger等数字
字符转数字:toXXX     字符串转数字:Byte,Double,Float,Int,Long,Short
判断是否数字:isDigits/isNumber
其他方法:compare,max,min,
/1.NumberUtils.isNumber():判断字符串是否是数字/
	NumberUtils.isNumber("5.96");//结果是true
	NumberUtils.isNumber("s5");//结果是false
/2.NumberUtils.isDigits():判断字符串中是否全为数字/
	NumberUtils.isDigits("0000000000.596");//false
/3.NumberUtils.toInt():字符串转换为整数/
	NumberUtils.toInt("5");
	NumberUtils.toLong("5");
	NumberUtils.toByte("3");
	NumberUtils.toFloat("3.2");
	NumberUtils.toDouble("4");
	NumberUtils.toShort("3");
/4.NumberUtils.max():找出最大的一个/
	NumberUtils.max(newint[]{3,5,6});//结果是6
	NumberUtils.max(3,1,7);//结果是7
/5.NumberUtils.min():找出最小的一个/
	NumberUtils.min(newint[]{3,5,6});//结果是6
	NumberUtils.min(3,1,7);//结果是7
/6.NumberUtils.createBigDecimal()通过字符串创建BigDecimal类型,支持long、int、float、double、number等数值/
	NumberUtils.createBigDecimal("1");
	NumberUtils.createLong("1");
	NumberUtils.createInteger("1");

ArrayUtils 数组工具类

添加移除:add,addAll,remove,removeElement,
拷贝:clone
判断:contains,isEmpty,isNotEmpty,isEquals,isSameLength,
其他:getLength,indexOf,lastIndexOf,nullToEmpty,reverse,subArray,
转换:toMap,toObject,toPrimitive,toString
/1.ArrayUtils.isEmpty(strs):判断数组是否为空, 不为空返回false, 为空true/
	ArrayUtils.isEmpty(new String[]{"21","是"});//结果是false
	ArrayUtils.isEmpty(new String[]{""});//结果是false
	ArrayUtils.isEmpty(new String[]{null});//结果是false
	ArrayUtils.isEmpty(new String[]{});//结果是true
/2.ArrayUtils.isNotEmpty(strs):判断数组是否不为空,不为空返回true,为空false/
	ArrayUtils.isNotEmpty(new String[]{"21","是"});//结果是true
	ArrayUtils.isNotEmpty(new String[]{""});//结果是true
	ArrayUtils.isNotEmpty(new String[]{});//结果是false
/3.ArrayUtils.isSameLength(strs,strs2):判断两个数组长度是否相等,长度相等返回true,否则返回false。相比较的两个		数组类型必须相同/
	ArrayUtils.isSameLength(new String[]{"21","是"},new String[]{"21","是"});//返回false
/4.ArrayUtils.isSameType(strs,strs2):判断两个数组的类型是否相同,相同返回true,否则返回false/
	ArrayUtils.isSameType(new String[]{"21","是"},newInteger[]{3});
/5.ArrayUtils.isEquals(strs,strs2)判断两个数组是否相等/
	ArrayUtils.isEquals(strs,strs);//结果是true
/6.ArrayUtils.toString()将一个数组转换成String,用于打印/
	ArrayUtils.toString(new String[]{"21","是"});//结果是:{21,是}
/7.ArrayUtils.clone赋值(克隆)数组/
	Object[]s=ArrayUtils.clone(newObject[]{"33","yy"});
/8.ArrayUtils.subarray截取子数组:根据起始索引startIndexInclusive到结束索引startIndexInclusive/
	Object[]s1=ArrayUtils.subarray(newObject[]{"33","yy","uu"},0,1);//结果是返回数组:[33]
	Object[]s2=ArrayUtils.subarray(newObject[]{"33","yy","uu"},0,2);//结果是返回数组:[33,yy]
/9.ArrayUtils.indexOf查询某个object在数组中的位置,可是指定起始搜索位置/
	intindex=ArrayUtils.indexOf(newObject[]{"33","yy","uu"},"uu");//结果是2
	intindex1=ArrayUtils.indexOf(newObject[]{"33","yy","uu"},"uu",2);//结果是2
	intindex3=ArrayUtils.indexOf(newObject[]{"33","yy","uu"},"uu",3);//结果是-1
/10.ArrayUtils.lastIndexOf反向查询某个object在数组中的位置,可以指定起始搜索位置/
	intindex11=ArrayUtils.lastIndexOf(newObject[]{"33","yy","uu"},"33");//结果是0
	intindex22=ArrayUtils.lastIndexOf(newObject[]{"33","yy","uu"},"33",2);
/11.ArrayUtils.contains查询某个object是否在数组中/
	ArrayUtils.contains(new String[]{"1", "2", "3"}, "11");
/12.ArrayUtils.reverse反转数组/
	ArrayUtils.reverse(new String[]{"22","yy"});//结果是:{"yy","22"}
/13.ArrayUtils.add添加一object到数组/
	String[] t={"22","yy"};
	String[] gg=(String[])ArrayUtils.add(t,"jj");//{"22","yy","jj"}
/14.ArrayUtils.addAll合并两个数组/
	String[]ggo=(String[])ArrayUtils.addAll(new String[]{"22","yy"},new String[]{"jj"});//结果是:[22,yy,jj]
	ArrayUtils.addAll(new String[]{"22","yy"},new String[]{"jj", "jj"}); //结果是:[22,yy,jj,jj]
/15.ArrayUtils.remove删除数组某个位置的元素/
	String[]gg4=(String[])ArrayUtils.remove(new String[]{"22","yy"},1);
/16.ArrayUtils.removeElement删除数组中某个对象/
	String[]ggpp=(String[])ArrayUtils.removeElement(new String[]{"22","yy"},"yy");

RandomUtils 随机数工具类

nextBoolean/nextInt/nextLong/nextFloat/nextDouble
例:RandomUtils.nextInt(1000);
// 注意这里传入的参数不是随机种子,而是在0~1000之间产生一位随机数

RandomStringUtils 随机字符串工具类

random/randomNumeric/randomAlphabetic/randomAscii

DateUtils 日期工具类

说明:XXX表示milisecends,seconds,minutes,hours,days,weeks,months,years
时间加减:add/addXXX 
时间设置:setXXX 
获取片段:getFragmentInXXX    获取date的1月1日0点0分0秒到指定时间的片段值
判断: isSameDay/isSameInstant/isSameLocalTime
转换: parseDate/parseDateStrictly
取模: ceiling/round/truncate
时间段:iterator   注意rangeStyle=1到4表示周范围以及偏移,5和6表示月偏移

DateFormatUtils时间格式化

格式化:format/formatUTC

DurationFormatUtils时间段格式化

formatDuration/formatDurationHMS/formatDurationISO
formatPeriod/formatPeriodISO
formatDurationWords

StopWatch 秒表

start/stop/suspend/split/resume/reset/unsplit
getSplitTime/getStartTime/getTime/
toSplitString/toString

EnumUtils 枚举工具类

getEnum/getEnumIgnoreCase/getEnumList/getEnumMapiterator

反射工具类

ClassUtils 类工具
获取: 
	1、类和接口 :getClass/getAllInterfaces/getAllSuperclasses/getShortClassName
	2、包:getPackageName/getPackageCanonicalName
	3、方法:getPublicMethod
转换:
	1、toClass/convertClassesToClassNames/convertClassNamesToClasses/
 	2、primitivesToWrappers/primitiveToWrapper/wrappersToPrimitives/wrapperToPrimitive
判断:isAssignable/isInnerClass

MethodUtils
	getAccessibleMethod/getMatchingAccessibleMethod
	invokeMethod/invokeStaticMethod/invokeExactMethod/invokeExactStaticMethod
	
FieldUtils
	getField/readField/writeField
	getDeclaredField/readDeclaredField/writeDeclaredField
	readDeclaredStaticField/readStaticField/writeDeclaredStaticField/writeStaticField

ConstructorUtils
	getAccessibleConstructor/getMatchingAccessibleConstructor
	invokeConstructor/invokeExactConstructor

ObjectUtils 对象工具类

max/min/toString/identityToString/appendIdentityToString/defaultIfNull

SystemUtils 系统属性工具类

getJavaHome/getJavaIoTmpDir/getJavaVersion/getUserDir/getUserHome/
isJavaAwtHeadless/isJavaVersionAtLeast

SerializationUtils 序列化工具类

clone/deserialize/serialize

LocaleUtils 本地工具类

availableLocaleList/availableLocaleSet
countriesByLanguage
localeLookupList/toLocale/isAvailableLocale/languagesByCountry

二、commons-collecions4

引入依赖

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

CollectionUtils 集合工具类

添加/删除:addAll/addIgnoreNull/retainAll/removeAll/
获取:
	find/get/containsAny/index/size/sizeIsEmpty/select/selectRejected/subtract
	typedCollection
判断: 
	isEmpty/isNotEmpty/isFull/exists/isEqualCollection/
	isSubCollection/isProperSubCollection 
转换: 
	collect/transform/transformedCollection/predicatedCollection
	unmodifiableCollection/synchronizedCollection 
计算:cardinality/countMatches/maxSize
过滤:filter
集合:intersection/union/disjunction  交集,并集,差集
其他操作:
	reverseArray  翻转  forAllDo 给每个元素执行闭包
	getCardinalityMap 转成Map,key是元素,value是次数

ListUtils-List工具类

判断: isEqualList
集合:intersection/sum/union/retainAll 交集,并集,合集,差集
操作:removeAll/hashCodeForList
子集: typedList/subtract/fixedSizeList
转换处理:synchronizedList/unmodifiableList/predicatedList/transformedList/lazyList

SetUtils-Set集合工具类

判断:isEqualSet
转换处理:
    transformedSet/transformedSortedSet/predicatedSet/predicatedSortedSet
    unmodifiableSet/synchronizedSet/synchronizedSortedSet
    orderedSet/typedSet/typedSortedSet
操作:hashCodeForSet

MapUtils-Map工具类

获取:getObject/getString/getXXX/getXXXValue  获取指定类型值,getXXXValue 如果没有值则默认值
子集:fixedSizeMap/fixedSizeSortedMap/typedMap/typedSortedMap
判断:isEmpty/isNotEmpty
转换:
	predicatedMap/predicatedSortedMap/transformedMap/transformedSortedMap/
	synchronizedMap/synchronizedSortedMap/
	unmodifiableMap/unmodifiableSortedMap/multiValueMap/orderedMap
 	toMap/toProperties/lazyMap/lazySortedMap
添加移除:safeAddToMap/putAll
其他操作:invertMap/debugPrint/verbosePrint

三、commons-beanutils

引入依赖

<dependency>
	<groupId>commons-beanutils</groupId>
	<artifactId>commons-beanutils</artifactId>
	<version>1.9.4</version>
</dependency>

BeanUtils/BeanUtilsBean类

拷贝: cloneBean/copyProperties/copyProperty
获取:getArrayProperty/getSimpleProperty/getProperty
其他操作:setProperty设置属性 populate将Bean设置到Map中  describe将Bean转成Map  

PropertyUtils类

判断:isReadable/isWriteable
获取:
	getProperty/getSimpleProperty/getPropertyType 
	getReadMethod/getWriteMethod/getIndexedProperty/setIndexedProperty
	getMappedProperty/setMappedProperty/getNestedProperty/setNestedProperty  
	getPropertyDescriptor/getPropertyEditorClass
拷贝和设置:copyProperties/setProperty/setSimpleProperty /clearDescriptors   

四、commons-io

引入依赖

<dependency>
	<groupId>commons-io</groupId>
	<artifactId>commons-io</artifactId>
	<version>2.11.0</version>
</dependency>

FileUtils 文件操作工具类

文件夹操作: 
	copyDirectory/deleteDirectory/cleanDirectory/getTempDirectory/getTempDirectoryPath
	moveDirectory/moveDirectoryToDirectory/moveFileToDirectory/moveToDirectory
	forceMkdir/getUserDirectory/getUserDirectoryPath
文件操作:
	touch/copyFile/copyURLToFile/moveFile/deleteQuietly/forceDelete/forceDeleteOnExit
	toFile/toFiles/toURLs
	isFileNewer/isFileOlder
	readLines/readFileToByteArray/readFileToString/lineIterator/openOutputStream
	write/writeLines/writeByteArrayToFile/writeStringToFile/openInputStream
其他操作:
	iterateFiles/listFiles/contentEquals/sizeOf/sizeOfDirectory

IOUtils 流操作工具类

读操作:lineIterator/read/readLines
写操作:write/writeLines
转换: toInputStream/toBufferedInputStream/toByteArray/toCharArray/toString
其他操作:copy/copyLarge/contentEquals/skip/skipFully/closeQuietly

FilenameUtils 文件名工具类

获取:
	getName/getBaseName/getPrefix/getPrefixLength/getExtension
 	getPath/getFullPath/getFullPathNoEndSeparator/getPathNoEndSeparator
判断:
	isExtension/equals/equalsNormalized/equalsOnSystem
其他操作:
	removeExtension/indexOfExtension
	separatorsToSystem/separatorsToUnix/separatorsToWindows
	indexOfLastSeparator

其他工具类

文件比较器:
	CompositeFileComparator/DefaultFileComparator/DirectoryFileComparator
	ExtensionFileComparator/LastModifiedFileComparator/NameFileComparator
	PathFileComparator/PathFileComparator
文件过滤器:
	AgeFileFilter/AndFileFilter/CanReadFileFilter/CanWriteFileFilter
	DelegateFileFilter/DirectoryFileFilter/EmptyFileFilter/FalseFileFilter/FileFileFilter
	FileFilterUtils/HiddenFileFilter/MagicNumberFileFilter/NameFileFilter/NotFileFilter
	OrFileFilter/PrefixFileFilter/RegexFileFilter/SizeFileFilter/SuffixFileFilter
	TrueFileFilter/WildcardFileFilter/WildcardFilter

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值