Java 常用工具类
货币类型,最小货币单位且整形类型存储。
Datetimeformatter JDK8
Instant类 统计时间
获取今年的天数
LocalDate.now().lengthOfYear();
获取指定某年天数
LocalDate.of(2000,1,1).lengthOfYear();
Calendar.january 。。。
集合
Isempty
(48条消息) Stream流Collectors.toMap用法_星夜孤帆的博客-CSDN博客_collectors.tomap
使用集合转数组的方法,必须使用集合的toArray(T[] array),传入的是类型完全一致、长度为0的空数组
Jdk8
Map.forEach()遍历
JDK8时 Instant代替Date
LocalDateTime 代替 Calendar
Datetimeformatter 代替 sdf
JDK7之后
ThreadLocalRandom
LongAdder 比 AtomicLong 性能好
Apache beanUtils copy效率低,使用spring的
一)日期工具类[DateUtil]
1.计算给定时间至今的天数:
long date2day(String date)
2.得到当前年:
int getYear()
3.得到当前月:
int getMonth()
4.得到当前日:
int getDay()
5.返回当前月(01~12):
String getMonth2()
6.返回当前日(01~31):
String getDay2()
7.返回指定格式的当前时间:
String getDate(String format)[YYYY-MM-DD,YY-MM,YY 年MM月,YY/YYYY]
8.计算某天是星期几:
whatDayIsSpecifyDate(String)
9.计算两日期间相差天数:
signDaysBetweenTowDate(String nowDate, String beforeDate)
10.获得当前时间(年月日 时分秒):
getCurrentDateTime
11.根据日期获取星座:
String date2Constellation(String strDate) YYYY-MM-DD
12.根据日期获取生肖 :
String date2Zodica(String strDate) YYYY-MM-DD
13.根据日期获取年龄:
int getAge(String strbirthDay) YYYY-MM-DD
二)文件路径工具类 [FilePathUtil]
1.根据某个文件名字,查找该文件在本工程下的物理位置 :
String getFilePath(String fNames)
三)数组工具类[ArrayUtil]
1.交换数组中两元素:
int[] swap(int[] ints, int x, int y)
2.冒泡排序:
int[] bubbleSort(int[] source)
3.直接选择排序法:
int[] bubbleSort(int[] source)
4.插入排序 方法:
int[] insertSort(int[] source)
5.快速排序使用分治法:
int[] quickSort(int[] source)
6.二分法查找值在数组中的位置:
int binarySearch(int[] source, int key)
7.反转数组:
int[] reverse(int[] source)
四)文件工具类[FileUtil]
1.将字节流转换成字符串返回 :
String readFileByLines(InputStream is)
2.将文件一行一行的读成 List 返回:
List<String> readFileToList(File file)
3.将文件按照一定的编码方式一行一行的读成 List 返回:
List<String> readFileToList(File file, String encodType)
4.将指定的字符串内容以指定的方式写入到指定的文件中:
void writeFile(File file, String content, Boolean flag)
5.将指定的字符串内容以指定的方式及编码写入到指定的文件中:
void writeFile(File file, String content, Boolean flag, String encodType)
6.拷贝文件夹:
void copyFolder(String oldPath, String newPath)
7.将文件重命名:
void reName(String oldName, String newName)
8.删除文件列表:
boolean deleteFiles(List<String> files)
9.删除文件或文件夹:
boolean delete(String fileName)
10.删除文件:
boolean deleteFiles(List<String> files)
11.删除目录及目录下的文件:
boolean deleteDirectory(String dir)
五)反射工具类[ReflectUtil]
1.得到某个对象的公共属性:
Object getProperty(Object owner, String fieldName)
2.利用反射调用方法(根据实例对象) :
Object invokeMethod(Object owner, String methodName, Class[] argsType , Object[] argsValue)
3.利用反射调用方法(根据类名) :
Object invokeMethod(String className, String methodName, Class[] argsType , Object[] argsValue)
4.利用 java 反射和构造方法生成实例:
Object newInstance(String className, Class[] argsType, Object[] argsValue)
5.是不是某个类的实例:
boolean isInstance(Object obj, Class cls)
6.得到数组中的某个元素:
Object getByArray(Object array, int index)
六)字符串工具类[StringUtil]
1.指定字符串替换:
String replace(String strSc, String oldStr, String newStr)
2.将字符串数组以指定的字符进行连接:
String join(String[] strs, String token)
3.检查字符串中是否包含某字符,包含返回 true :
check(String str, String test)
4.将字符串转换成 Integer 型:
Integer String2Integer(String str, Integer ret)
5.将数值型转换成字符串:
String Integer2String(Integer it, String ret)
6.比较两字符串大小(ASCII 码顺序):
int compare(String str1, String str2)
7.将字符串的首字母改为大写:
String firstToUpper(String str)
8.检查字符串是否为空:
boolean isEmpty(String str)
9.截取并保留标志位之前的字符串:
String substringAfter(String str, String expr)
10.截取并保留标志位之后的字符串:
String substringAfter(String str, String expr)
11.截取并保留最后一个标志位之前的字符:
String substringBeforeLast(String str, String expr)
12.截取并保留最后一个标志位之后的字符:
String substringAfterLast(String str, String expr)
13.返回一个整数数组:
int[] split(String s,String spliter)
14.返回一个整数数组:
int[] parseInt(String[] s)
15.字符串数组中是否包含指定的字符串:
boolean contains(String[] strings, String string, boolean caseSensitive)
16.将字串转成日期,字串格式: yyyy-MM-dd :
Date parseDate(String string)
17.字符填充(向前填充):
String fill(String source,String filler, int length)
18.转换 String 到 boolean :
boolean parseBoolean(String flag)
19.转换 String 到 int :
int parseInt(String flag)
20.转换 String 到 long :
long parseLong(String flag)
21.将 某字符串由原编码的字符转换成指定编码的字符:
String StringConvert(String strSource, String fromCode, String toCode)
七)正则表达式工具类[ReguUtil]
1.匹配图象
2.匹配 email 地址
3.匹配日期
4.匹配电话
5.匹配身份证
6.匹配邮编代码
7.不包括特殊字符的匹配
8.匹配非负整数(正整数 + 0)
9.匹配不包括零的非负整数(正整数 > 0)
10.匹配正整数
11.匹配非正整数(负整数 + 0)
12.匹配负整数
13.匹配整数
14.匹配非负浮点数(正浮点数 + 0)
15.匹配浮点数
16.匹配由 26 个英文字母组成的字符串
17.匹配由 26 个英文字母的大写组成的字符串
18.匹配由 26 个英文字母的小写组成的字符串
19.匹配由数字和 26 个英文字母组成的字符串
20.匹配由数字、26 个英文字母或者下划线组成的字符串
21.大小写敏感的正规表达式批配:
boolean isHardRegexpValidate(String source, String regexp)
22.不区分大小写的正规表达式批配:
boolean isSoftRegexpValidate(String source, String regexp)
八)对象和字节数组转换工具类[ObjectAndByteArrayUtil]
1.将对象转换成字节数组:
byte[] ObjectToByte(java.lang.Object obj)
2. 将字节数组转换成对象
java.lang.Object ByteToObject(byte[] bytes)