当前位置:网站首页>Those commonly used tool classes and methods in hutool
Those commonly used tool classes and methods in hutool
2022-07-06 11:43:00 【Ride the wind to break the bug】
List of articles
Convert
Type conversion utility class , For conversion of various types of data .
// Convert to string
int a = 1;
String aStr = Convert.toStr(a);
// Convert to array of specified type
String[] b = {"1", "2", "3", "4"};
Integer[] bArr = Convert.toIntArray(b);
// Convert to date object
String dateStr = "2017-05-06";
Date date = Convert.toDate(dateStr);
// Convert to list
String[] strArr = {"a", "b", "c", "d"};
List<String> strList = Convert.toList(String.class, strArr);
DateUtil
Date time tool class , Some commonly used date time operation methods are defined .
//Date、long、Calendar Mutual conversion between
// current time
Date date = DateUtil.date();
//Calendar turn Date
date = DateUtil.date(Calendar.getInstance());
// Time stamping Date
date = DateUtil.date(System.currentTimeMillis());
// Automatic recognition of format conversion
String dateStr = "2017-03-01";
date = DateUtil.parse(dateStr);
// Custom format conversion
date = DateUtil.parse(dateStr, "yyyy-MM-dd");
// Format output date
String format = DateUtil.format(date, "yyyy-MM-dd");
// Get part of the year
int year = DateUtil.year(date);
// Get the month , from 0 Start counting
int month = DateUtil.month(date);
// Get the start of a day 、 End time
Date beginOfDay = DateUtil.beginOfDay(date);
Date endOfDay = DateUtil.endOfDay(date);
// Calculate the date time after the offset
Date newDate = DateUtil.offset(date, DateField.DAY_OF_MONTH, 2);
// Calculate the offset between date and time
long betweenDay = DateUtil.between(date, newDate, DateUnit.DAY);
StrUtil
String utility class , Some common string manipulation methods are defined .
// Determine if it is an empty string
String str = "test";
StrUtil.isEmpty(str);
StrUtil.isNotEmpty(str);
// Remove the prefixes and suffixes of strings
StrUtil.removeSuffix("a.jpg", ".jpg");
StrUtil.removePrefix("a.jpg", "a.");
// Formatted string
String template = " It's just a placeholder :{}";
String str2 = StrUtil.format(template, " I'm a placeholder ");
LOGGER.info("/strUtil format:{}", str2);
ClassPathResource
obtain classPath The files under the , stay Tomcat Wait for the container ,classPath It's usually WEB-INF/classes.
// Access is defined in src/main/resources Profile in folder
ClassPathResource resource = new ClassPathResource("generator.properties");
Properties properties = new Properties();
properties.load(resource.getStream());
LOGGER.info("/classPath:{}", properties);
ReflectUtil
Java Reflection tools , It can be used to reflect the methods of getting classes and creating objects .
// Get all the methods of a class
Method[] methods = ReflectUtil.getMethods(PmsBrand.class);
// Get the specified method of a class
Method method = ReflectUtil.getMethod(PmsBrand.class, "getId");
// Use reflection to create objects
PmsBrand pmsBrand = ReflectUtil.newInstance(PmsBrand.class);
// The method of reflecting the execution object
ReflectUtil.invoke(pmsBrand, "setId", 1);
NumberUtil
Digital processing tools , It can be used for addition, subtraction, multiplication and division of various types of numbers and judgment types .
double n1 = 1.234;
double n2 = 1.234;
double result;
// Yes float、double、BigDecimal Do addition, subtraction, multiplication and division
result = NumberUtil.add(n1, n2);
result = NumberUtil.sub(n1, n2);
result = NumberUtil.mul(n1, n2);
result = NumberUtil.div(n1, n2);
// Keep two decimal places
BigDecimal roundNum = NumberUtil.round(n1, 2);
String n3 = "1.234";
// Judge whether it is a number 、 Integers 、 Floating point numbers
NumberUtil.isNumber(n3);
NumberUtil.isInteger(n3);
NumberUtil.isDouble(n3);
BeanUtil
JavaBean Tool class of , Can be used for Map And JavaBean The mutual transformation of objects and the copy of object properties .
PmsBrand brand = new PmsBrand();
brand.setId(1L);
brand.setName(" millet ");
brand.setShowStatus(0);
//Bean turn Map
Map<String, Object> map = BeanUtil.beanToMap(brand);
LOGGER.info("beanUtil bean to map:{}", map);
//Map turn Bean
PmsBrand mapBrand = BeanUtil.mapToBean(map, PmsBrand.class, false);
LOGGER.info("beanUtil map to bean:{}", mapBrand);
//Bean Property copy
PmsBrand copyBrand = new PmsBrand();
BeanUtil.copyProperties(brand, copyBrand);
LOGGER.info("beanUtil copy properties:{}", copyBrand);
CollUtil
Tool class for collection operation , Some common set operations are defined .
// Array to list
String[] array = new String[]{"a", "b", "c", "d", "e"};
List<String> list = CollUtil.newArrayList(array);
//join: When the array is converted to a string, add the connection symbol
String joinStr = CollUtil.join(list, ",");
LOGGER.info("collUtil join:{}", joinStr);
// Reconverts a string separated by a join symbol to a list
List<String> splitList = StrUtil.split(joinStr, ',');
LOGGER.info("collUtil split:{}", splitList);
// Create a new Map、Set、List
HashMap<Object, Object> newMap = CollUtil.newHashMap();
HashSet<Object> newHashSet = CollUtil.newHashSet();
ArrayList<Object> newList = CollUtil.newArrayList();
// Determine whether the list is empty
CollUtil.isEmpty(list);
MapUtil
Map Operation tool class , Can be used to create Map Object and judgment Map Is it empty .
// Add multiple key value pairs to Map in
Map<Object, Object> map = MapUtil.of(new String[][]{
{"key1", "value1"},
{"key2", "value2"},
{"key3", "value3"}
});
// Judge Map Is it empty
MapUtil.isEmpty(map);
MapUtil.isNotEmpty(map);
AnnotationUtil
Annotation tool class , Can be used to get comments and values specified in comments .
// Get the specified class 、 Method 、 Field 、 List of annotations on the constructor
Annotation[] annotationList = AnnotationUtil.getAnnotations(HutoolController.class, false);
LOGGER.info("annotationUtil annotations:{}", annotationList);
// Get the specified type annotation
Api api = AnnotationUtil.getAnnotation(HutoolController.class, Api.class);
LOGGER.info("annotationUtil api value:{}", api.description());
// Gets the value of the specified type annotation
Object annotationValue = AnnotationUtil.getAnnotationValue(HutoolController.class, RequestMapping.class);
SecureUtil
Encryption and decryption tool class , Can be used for MD5 encryption .
//MD5 encryption
String str = "123456";
String md5Str = SecureUtil.md5(str);
LOGGER.info("secureUtil md5:{}", md5Str);
CaptchaUtil
Verification code tool class , Can be used to generate graphic verification codes .
// Generate captcha image
LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 100);
try {
request.getSession().setAttribute("CAPTCHA_KEY", lineCaptcha.getCode());
response.setContentType("image/png");// Tell the browser to output pictures
response.setHeader("Pragma", "No-cache");// Disable browser caching
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expire", 0);
lineCaptcha.write(response.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
边栏推荐
- L2-006 tree traversal (25 points)
- Learn winpwn (3) -- sEH from scratch
- Solution to the practice set of ladder race LV1 (all)
- Word排版(小计)
- 4. Install and deploy spark (spark on Yan mode)
- MySQL and C language connection (vs2019 version)
- vs2019 桌面程序快速入门
- L2-001 紧急救援 (25 分)
- wangeditor富文本引用、表格使用问题
- [CDH] modify the default port 7180 of cloudera manager in cdh/cdp environment
猜你喜欢

AcWing 1298. Solution to Cao Chong's pig raising problem

vs2019 第一个MFC应用程序

【flink】flink学习

Double to int precision loss

4. Install and deploy spark (spark on Yan mode)

Software testing and quality learning notes 3 -- white box testing

分布式節點免密登錄

About string immutability

How to build a new project for keil5mdk (with super detailed drawings)

02 staff information management after the actual project
随机推荐
[Bluebridge cup 2020 preliminary] horizontal segmentation
Common regular expression collation
[BSidesCF_2020]Had_ a_ bad_ day
AcWing 179.阶乘分解 题解
【presto】presto 参数配置优化
error C4996: ‘strcpy‘: This function or variable may be unsafe. Consider using strcpy_s instead
express框架详解
[AGC009D]Uninity
數據庫高級學習筆記--SQL語句
数据库面试常问的一些概念
L2-006 树的遍历 (25 分)
[Kerberos] deeply understand the Kerberos ticket life cycle
保姆级出题教程
When using lambda to pass parameters in a loop, the parameters are always the same value
AcWing 179. Factorial decomposition problem solution
Mtcnn face detection
Wangeditor rich text component - copy available
Cookie setting three-day secret free login (run tutorial)
小L的试卷
Small L's test paper