Hutool工具类库

时间:2025-03-10 14:20:04

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

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结


前言

Hutool工具类库作为java工具库,包含了日常开发过程中经常使用的方法。方便小伙伴使用及学习,可以说是一个"百宝箱",你想要的全都有。


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

一、Hutool是什么?

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅。

官方地址: Overview (hutool - ))

二、使用步骤

1.引入依赖

代码如下(示例):

<dependency>
   <groupId></groupId>
   <artifactId>hutool-all</artifactId>
   <version>${}</version>
</dependency>

2.相关方法

2.1

  该类提供了日常使用的很多工具方法,开发过程中可以优先在此进行查找。

2.1.1 StrUtil 

  字符串工具类,涉及String相关的操作;

1) uuid()

  生成随机UUID,业务逻辑主键;

static String uuid()

生成随机UUID

 2) equals

public static boolean equals(CharSequence str1,
                             CharSequence str2)

比较两个字符串(大小写敏感)。

 equals(null, null)   = true
 equals(null, "abc")  = false
 equals("abc", null)  = false
 equals("abc", "abc") = true
 equals("abc", "ABC") = false
 

Parameters:

str1 - 要比较的字符串1

str2 - 要比较的字符串2

Returns:

如果两个字符串相同,或者都是null,则返回true

  3) format

public static String format(CharSequence template,
                            Object... params)

格式化文本, {} 表示占位符
此方法只是简单将占位符 {} 按照顺序替换为参数
如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可
例:
通常使用:format("this is {} for {}", "a", "b") =》 this is a for b
转义{}: format("this is \\{} for {}", "a", "b") =》 this is {} for a
转义\: format("this is \\\\{} for {}", "a", "b") =》 this is \a for b

Parameters:

template - 文本模板,被替换的部分用 {} 表示,如果模板为null,返回"null"

params - 参数值

Returns:

格式化后的文本,如果模板为null,返回"null"

 2.1.2 EnumUtil

 枚举工具类

1) contains

public static <E extends Enum<E>> boolean contains(Class<E> enumClass,
                                                   String val)

判断某个值是存在枚举中

Type Parameters:

E - 枚举类型

Parameters:

enumClass - 枚举类

val - 需要查找的值

Returns:

是否存在

2) getFieldNames

public static List<String> getFieldNames(Class<? extends Enum<?>> clazz)

获得枚举类中所有的字段名
除用户自定义的字段名,也包括“name”字段,例如:

   () == ["name", "index"]
 

Parameters:

clazz - 枚举类

Returns:

字段名列表

Since:

4.1.20

3) getNameFieldMap

public static Map<String,Object> getNameFieldMap(Class<? extends Enum<?>> clazz,
                                                 String fieldName)

获得枚举名对应指定字段值的Map
键为枚举名,值为字段值

Parameters:

clazz - 枚举类

fieldName - 字段名,最终调用getXXX方法

Returns:

枚举名对应指定字段值的Map

2.2  

Map工具类,Map集合日常工具方法。

2.2.1 empty()

public static <K,V> Map<K,V> empty()

返回一个空Map

Type Parameters:

K - 键类型

V - 值类型

Returns:

空Map

2.2.2 filter

public static <K,V> Map<K,V> filter(Map<K,V> map,
                                    Filter<<K,V>> filter)

过滤
过滤过程通过传入的Editor实现来返回需要的元素内容,这个Filter实现可以实现以下功能:

 1、过滤出需要的对象,如果返回null表示这个元素对象抛弃
 

Type Parameters:

K - Key类型

V - Value类型

Parameters:

map - Map

filter - 过滤器接口,null返回原Map

Returns:

过滤后的Map

2.2.3 sortByValue 

public static <K,V extends Comparable<? super V>> Map<K,V> sortByValue(Map<K,V> map,
                                                                       boolean isDesc)

按照值排序,可选是否倒序

Type Parameters:

K - 键类型

V - 值类型

Parameters:

map - 需要对值排序的map

isDesc - 是否倒序

Returns:

排序后新的Map

2.2.4 valuesOfKeys 

public static <K,V> ArrayList<V> valuesOfKeys(Map<K,V> map,
                                              Iterator<K> keys)

从Map中获取指定键列表对应的值列表
如果key在map中不存在或key对应值为null,则返回值列表对应位置的值也为null

Type Parameters:

K - 键类型

V - 值类型

Parameters:

map - Map

keys - 键列表

Returns:

值列表

2.2.5 toMapList 

public static <K,V> List<Map<K,V>> toMapList(Map<K,? extends Iterable<V>> listMap)

列转行。将Map中值列表分别按照其位置与key组成新的map。
toListMap(Iterable)的逆方法
比如传入数据:

 {
   a: [1,2,3,4]
   b: [1,2,3,]
   c: [1]
 }
 

结果是:

 [
  {a: 1, b: 1, c: 1}
  {a: 2, b: 2}
  {a: 3, b: 3}
  {a: 4}
 ]
 

Type Parameters:

K - 键类型

V - 值类型

Parameters:

listMap - 列表Map

Returns:

Map列表

2.2.6 toListMap 

public static <K,V> Map<K,List<V>> toListMap(Iterable<? extends Map<K,V>> mapList)

行转列,合并相同的键,值合并为列表
将Map列表中相同key的值组成列表做为Map的value
toMapList(Map)的逆方法
比如传入数据:

 [
  {a: 1, b: 1, c: 1}
  {a: 2, b: 2}
  {a: 3, b: 3}
  {a: 4}
 ]
 

结果是:

 {
   a: [1,2,3,4]
   b: [1,2,3,]
   c: [1]
 }
 

Type Parameters:

K - 键类型

V - 值类型

Parameters:

mapList - Map列表

Returns:

Map


总结

Hutool工具类库可以作为日常开发过程中的"字典"使用,碰到一些方法可以优先在此进行查找,慢慢的便可对其进行熟悉使用。